Wie kann ich unter Ubuntu einen Shell-Alias-Befehl platzieren, der für alle global gilt?

10386
jfmessier

Wo kann ich unter Ubuntu 9.10 einen Alias- Befehl platzieren, der für alle Benutzer (root oder anders) gültig ist und mit einer Shell unter GNOME sowie einer SSH-Sitzung und einem einfachen Konsolen-Login funktioniert?

Ich liebe zum Beispiel den llBefehl, der nicht standardmäßig unter Ubuntu definiert ist, sondern unter openSuSE. Ich kann manuell eingeben:

alias "ll=ls -als" 

es gilt jedoch nur für die aktuelle Shell. Ich möchte, dass dies für alle Benutzer gilt, sowohl für die Remote- als auch für die lokale Verbindung.

Welche Datei muss ich bearbeiten?

6

4 Antworten auf die Frage

8
Jon

Sie sollten es unter:

 /etc/bash.bashrc 

allen Benutzern zur Verfügung stehen.

Ja. Unter Ubuntu ist das jedoch nicht genug. Ich musste die Zeile "source /etc/bash.bashrc" am Ende der Datei / etc / profile hinzufügen. jfmessier vor 14 Jahren 0
Ich musste es nicht - es funktioniert für mich Jon vor 14 Jahren 0
4
jfmessier

Eigentlich habe ich festgestellt, dass die Antwort, zumindest für mich, eine Kombination von zwei vorherigen Antworten ist. Ich stellte fest, dass das Folgende für mich funktionierte:

Die Datei / etc / profile wird zwar ausgeführt, aber die Aliasbefehle funktionieren nicht. Ich verstehe, dass der Aliasbefehl dort nur gültig ist, während der Shell-Prozess ausgeführt wird. Wenn ich mir die Datei /etc/bash.bashrc ansehe, lese ich oben in der Datei, dass die Datei aus / etc / profile "stammen" muss.

Also fügte ich zuerst den Alias-Befehl hinzu, den ich in /etc/bash.bashrc wollte. mögen:

 alias "ll=ls -als" 

Dann habe ich den Quellbefehl am Ende von / etc / profile angehängt:

 source /etc/bash.bashrc 

Es schien gut zu funktionieren, sowohl bei einer lokal gestarteten Shell als auch bei einer SSH-Verbindung.

3
pavium

Probieren Sie die /etc/profileDatei aus.

Dies ist für die systemweite Initialisierung der Bourne-Shell und kompatibler Shells vorgesehen.

Ich habe das Alias-Kommando dort ausprobiert, und es lief nicht. Beim Öffnen einer neuen Shell war der Befehl nicht verfügbar. Durch das Hinzufügen von "source /etc/bash.bashrc" und dem eigentlichen Aliasbefehl am Ende dieser Datei funktionierte es jedoch einwandfrei. jfmessier vor 14 Jahren 0
0
asenseofdesign

Wie oben in der Datei angegeben /etc/bash.bashrc:

 # System-wide .bashrc file for interactive bash(1) shells. # To enable the settings / commands in this file for login shells as well, # this file has to be sourced in /etc/profile. 

Also sind sowohl Jon als auch Jfmessier richtig. Jon hatte sich wahrscheinlich /etc/bash.bashrcschon eingemischt /etc/profile, was der Standardfall zu sein scheint.

Ich würde empfehlen, die Alias-Befehle einzufügen /etc/bash.bashrcund zu versuchen, sie zuerst auszuführen, sowohl mit Ihrem normalen Benutzer als auch mit root. Wenn sie wie erwartet ausgeführt werden, müssen Sie die Datei nicht im Profil als Quelle angeben. Wenn nicht, dann besorgen Sie sie.