Es gibt ein paar Dinge, die Sie ausprobieren können:
- Verwenden
bash -vSie diese Option, um zu sehen, welche Zeilen beim Starten der Shell gelesen werden
- Verwenden
bash -xSie 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 bashjede 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 lessdie 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.bashrchat einen Kommentar an der Spitze , die sagt , /etc/bash.bashrcund ~/.bashrceine zu hat.
Wenn es sich über Ihrer befindet ~/.bashrc, ist es wahrscheinlich eine Startdatei, in /etcder der Alias definiert wird, ansonsten befindet es sich in Ihrer ~/.bashrcoder einer Datei, die über sourceoder .(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/profileund ~/.bash_profileanstelle von /etc/bash.bashrcund ~/.bashrc.
bash -x
Wenn bash -vSie keine eindeutige Antwort erhalten, versuchen Sie es mit running. Dabei bash -xwerden 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 -vvon -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 rcfileset to, /etc/bash.bashrcwenn Ihr System es hat.
Dann versuche es
bash -l --rcfile="$HOME/.bash_profile"
und machen Sie dasselbe mit jeder Bash-Startdatei, die profilein ihrem Namen steht, z . B. change $HOME/.bash_profileto /etc/profile.
Auf welche Weise der Alias angezeigt wird, zeigt an, welche Datei Sie sich ansehen sollten.
set -xwie oben vorgeschlagen, zu platzieren, und prüfen Sie, ob dies für Sie eine Einschränkung darstellt.