![Globale Verwendung von „Aliasen“ unter Debian 10](https://rvso.com/image/756221/Globale%20Verwendung%20von%20%E2%80%9EAliasen%E2%80%9C%20unter%20Debian%2010.png)
Ich habe erfolglos versucht, die globale Verwendung von Aliasnamen auf meiner Debian 10-Instanz hinzuzufügen.
Ich habe bereits versucht, meine Aliase zu /etc/bash.bashrc hinzuzufügen und diesen Snippet zu /etc/profile hinzuzufügen, um es als Quelle zu verwenden, aber es hat nicht funktioniert.
if [ -f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi
In meiner bash.bashrc:
#Aliases
alias l='ls -la'
alias ll='ls -l'
alias la='ls -a'
BEARBEITEN*
Wie erstelle ich einen Alias für „ls“. Beispiel: ls='ls -CF'. Wenn ich es als Alias verwende, funktioniert es nicht?
Antwort1
Debian sollte mit /etc/bash.bashrc funktionieren. Überprüfen Sie /etc/passwd
, ob der Benutzer die Bash-Shell verwendet.
user1:x:1000:1000:User 1:/home/user1:/bin/bash
user2:x:1001:1001:User 2:/home/user2:/bin/zsh
Wenn Benutzer mit useradd oder adduser hinzugefügt werden, werden sie standardmäßig mit Bash als Shell erstellt. Dies kann jedoch zu einer anderen Shell geändert worden sein (zsh ist sehr beliebt). Im obigen Beispiel verwendet Benutzer1 die Bash-Shell und Benutzer2 verwendet zsh. Benutzer2 führt /etc/bash.bashrc beim Anmelden nicht aus.
Antwort2
Wenn ich mir mein ansehe, ~/.bashrc
sehe ich, ls
dass bereits definiert ist als alias ls='ls --color=auto'
.
Das Hinzufügen einer neuen ls
Aliasdefinition zu /etc/bash.bashrc
„as“ alias ls='ls -CF'
hilft nicht, da ich davon ausgehe, dass die Definition in ~/.bashrc
Vorrang hat.
Bei meinen Tests hat es funktioniert, wenn ich den ls
in „Aktiviert“ definierten Alias durch ~/.bashrc
den von mir für die globale Definition hinzugefügten Alias auskommentiere etc/bash.bashrc
.
Dies unterscheidet sich erheblich von der Art und Weise, wie Red Hat globales Aliasing handhabt, wodurch Sie Ihre globalen Aliase eingeben können. /etc/profile.d/[filename].sh
Aufgrund der unterschiedlichen Konfiguration von Debian und Red Hat und der Beziehung zwischen den Profil- und Bashrc-Dateien scheint dies jedoch für Debian keine Option zu sein.
Damit meine ich, dass es für Red Hat Profil-/Bashrc-Dateien verarbeitet, indem es sie so bereitstellt, dass sie für verschiedene Shells/Anmeldetypen funktionieren (wie hier erklärt)https://unix.stackexchange.com/questions/170493/login-non-login-and-interactive-non-interactive-shells). Für Debian scheinen die Dateien jedoch /etc/profile.d/*.sh
nur für Login-Shells zu sein. Da meine vorherige Antwort hier jedoch gelöscht wurde, konnte ich sie nicht bearbeiten und klarstellen.
Wenn Sie damit einverstanden sind, dass globale Aliase bei Debian nur für Login-Shells funktionieren, fügen Sie sie beispielsweise in ein /etc/profile.d/aliases.sh
. Andernfalls müssen Sie sie anscheinend zu hinzufügen /etc/bash.bashrc
. Bedenken Sie dabei, dass Aliase ~/.bashrc
in Vorrang haben. Wenn die von Ihnen definierten Aliase nicht funktionieren, sind sie wahrscheinlich an anderer Stelle definiert und überschreiben Ihre.