it-swarm.com.de

Führen Sie das Skript bei der Shell-Anmeldung für alle Benutzer aus

Ich habe ein Skript namens "als", das die Aliase in der .bashrc -Datei eines Benutzers analysiert, die ich für jeden Benutzer ausführen möchte, der sich über SSH anmeldet.

Dies sollte ähnlich wie das Banner "Nachricht des Tages" (MOTD) angezeigt werden. MOTD-Banner sind jedoch statische Daten.

Hier ist der Code.

#!/bin/bash
echo
echo Your aliases:
echo \(from ~/.bashrc\)
echo
cat .bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'

Es funktioniert, wenn ich ./als an meine ~/.profile -Datei anhänge, dies wird jedoch nur für mich ausgeführt. Wieder möchte ich, dass dies für alle Benutzer bei der Shell-Anmeldung ausgeführt wird

4
user38537

Sie können Ihr Skript in /etc/profile.d/als.sh speichern. Laut Ubuntu EnvironmentVariables Handbuch:

Dateien mit der Erweiterung .sh im Verzeichnis /etc/profile.d werden ausgeführt, wenn eine Bash-Anmeldeshell eingegeben wird (z. B. beim Anmelden über die Konsole oder über ssh), sowie vom DisplayManager, wenn die Desktopsitzung geladen wird.

Sie sollten auch den relativen Pfad mit dem absoluten Pfad ändern:

 cat /home/$USER/.bashrc | egrep 'alias.+\=' | tr -s [:space:] | sed 's_^ alias_alias_' | sed 's_alias__' | sort | sed 's_=_\t\t_' | sed 's_^ __'  

Und das sollte für alle Benutzer funktionieren.

7
Lety