Es gibt ein paar Dinge, die Sie ausprobieren können:
- Verwenden
bash -v
Sie diese Option, um zu sehen, welche Zeilen beim Starten der Shell gelesen werden
- Verwenden
bash -x
Sie diese Option, um zu sehen, welche Befehle während des Shell-Starts ausgeführt werden
- mit nur einer Startdatei ausführen
bash -v
Mit dieser -v
Option wird bash
jede Zeile aus jeder gelesenen Skriptdatei so gedruckt, wie sie gelesen wird.
Beginnen Sie mit dem Laufen
bash -i -v >bash-i.out 2>&1
Warten Sie 5-10 Sekunden und drücken Sie dann Ctrl+C.
Auf diese Weise erhalten Sie eine einzelne Datei, die so heißt bash-i.out
, als würden alle Startdateien zusammengeführt (oder verkettet).
Verwenden Sie dann less
die Datei zu öffnen und mit dem Alias suchen /aliasname
.
Vergleichen Sie nun, wo dieser Alias in Bezug auf andere Zeilen in der Datei angezeigt wird. Zum Beispiel auf den meisten Systemen, /etc/bash.bashrc
hat einen Kommentar an der Spitze , die sagt , /etc/bash.bashrc
und ~/.bashrc
eine zu hat.
Wenn es sich über Ihrer befindet ~/.bashrc
, ist es wahrscheinlich eine Startdatei, in /etc
der der Alias definiert wird, ansonsten befindet es sich in Ihrer ~/.bashrc
oder einer Datei, die über source
oder .
(Punktbefehl) eingeschlossen wird.
Wenn der Alias nicht angezeigt wird, versuchen Sie es
bash -l -v >bash-l.out 2>&1
Das bedeutet, dass bash eine Login-Shell ist, die zum Beispiel verschiedene Startdateien liest /etc/profile
und ~/.bash_profile
anstelle von /etc/bash.bashrc
und ~/.bashrc
.
bash -x
Wenn bash -v
Sie keine eindeutige Antwort erhalten, versuchen Sie es mit running. Dabei bash -x
werden die Befehle gedruckt, die von der Shell ausgeführt werden, und nicht die Zeilen, die von der Shell gelesen werden.
Die Methode ist im Grunde die gleiche wie oben, mit Ausnahme der Änderung -v
von -x
. (Sie können beide bei Bedarf zusammen verwenden.)
Führen Sie nur eine Startdatei aus
bash -i --rcfile="$HOME/.bashrc"
und sehen, ob Sie den Alias haben.
Versuchen Sie dasselbe mit rcfile
set to, /etc/bash.bashrc
wenn Ihr System es hat.
Dann versuche es
bash -l --rcfile="$HOME/.bash_profile"
und machen Sie dasselbe mit jeder Bash-Startdatei, die profile
in ihrem Namen steht, z . B. change $HOME/.bash_profile
to /etc/profile
.
Auf welche Weise der Alias angezeigt wird, zeigt an, welche Datei Sie sich ansehen sollten.
set -x
wie oben vorgeschlagen, zu platzieren, und prüfen Sie, ob dies für Sie eine Einschränkung darstellt.