Ich habe Ubuntu 14.04.2. Ich möchte, dass alle Benutzer automatisch einen bestimmten Satz von Aliasen haben. Ich habe meine Aliase in meinem persönlichen .bashrc festgelegt, möchte sie aber nicht manuell in die anderen Benutzer kopieren müssen. Idealerweise sollte dies auch für neu erstellte Benutzer automatisch festgelegt werden.
38
Antworten:
Sie können ein Skript in erstellen
/etc/profile.d/
, um Aliase für alle Benutzer zu erstellen :Erstellen Sie eine Datei mit dem Namen
00-aliases.sh
(oder einem anderen ausgefallenen Namen) in/etc/profile.d
:Fügen Sie Aliase in diese Datei ein. Beispiel:
Speicher die Datei
Einige Notizen:
/etc/profile
ist eine globale Datei, die vorher ausgeführt wird~/.profile
./etc/profile.d/
ist ein Ordner, der Skripte enthält, die von aufgerufen werden/etc/profile
Wenn
/etc/profile
aufgerufen wird (wenn Sie Start / einloggen , um einen Shell), sucht es nach allen Dateien , die auf.sh
in/etc/profile.d/
und führt sie mit einem dieser Befehle ein :00-
vor den Dateinamen, damit er vor den restlichen Skripten ausgeführt wird./etc/profile
, dies wird jedoch nicht empfohlen.quelle
.sh
Dateien in/etc/profile.d/
(oder/etc/profile
) werden nur für Anmeldeshells definiert und funktionieren nicht in interaktiven Shells , die keine Anmeldeshells sind. Im Gegensatz zu Umgebungsvariablen kann bash keine Aliase in untergeordnete Prozesse exportieren, nicht einmal untergeordnete Bash-Shells. Diese Methode scheint ordnungsgemäß zu funktionieren, wenn sie nur in Anmeldeshells getestet wird, z. B. in der ursprünglichen Shell, die durch Anmelden an einer virtuellen Konsole oder über SSH erhalten wurde. Sie schlägt jedoch in ihren untergeordneten Shells und auch in Shells fehl, die von GUI-Terminalfenstern gestartet wurden.Wie hier ausgeführt , ist es wahrscheinlich besser, globale Aliase hinzuzufügen in
/etc/bash.bashrc
:, da Skripte in
/etc/profile.d
bestimmten (nicht angemeldeten) Shells ignoriert werden können . Ich habe Stunden gebraucht, um herauszufinden, warum/etc/profile.d
es nicht funktioniert hat.Siehe zB https://askubuntu.com/a/606882/ und Verstehen Bashrc und Bash_profile für die Unterscheidung zwischen den Mänteln.
quelle
Ein Alias funktioniert nur innerhalb einer Shell. Wenn Sie etwas möchten, das so allgemein zugänglich ist wie eine ausführbare Datei, können Sie ein kleines Verknüpfungsskript hinzufügen
/usr/bin
, z.Der
"$@"
übergibt alle Argumente an die ausführbare Datei. Der Name des Skripts ist der Name der ausführbaren Datei.Quelle: https://unix.stackexchange.com/a/52509/15954
quelle
/ etc / bashrc
Es ist NICHT ratsam, diese Datei zu ändern, es sei denn, Sie wissen, was Sie tun. Es ist viel besser, ein custom.sh-Shell-Skript in /etc/profile.d/ zu erstellen, um benutzerdefinierte Änderungen an Ihrer Umgebung vorzunehmen, da dies das Zusammenführen in zukünftigen Updates unnötig macht.
quelle