Jest kilka rzeczy, które możesz wypróbować:
- użyj,
bash -v
aby zobaczyć, które linie są odczytywane podczas uruchamiania powłoki
- Użyj,
bash -x
aby zobaczyć, jakie polecenia są uruchamiane podczas uruchamiania powłoki
- uruchom tylko z jednym plikiem startowym
bash -v
Ta -v
opcja powoduje bash
wydrukowanie każdej linii z każdego pliku skryptu, który czyta podczas czytania.
Zacznij od uruchomienia
bash -i -v >bash-i.out 2>&1
poczekaj 5-10 sekund, a następnie naciśnij Ctrl+C.
To da ci pojedynczy plik o nazwie, bash-i.out
który jest jak wszystkie twoje pliki startowe scalone (lub połączone) razem.
Następnie użyj, less
aby otworzyć plik i wyszukać alias za pomocą /aliasname
.
Teraz porównaj, gdzie pojawia się ten alias w stosunku do innych linii w pliku. Na przykład w większości systemów /etc/bash.bashrc
ma na górze komentarz, który mówi /etc/bash.bashrc
i też ~/.bashrc
ma jeden.
Jeśli jest nad twoim ~/.bashrc
, to prawdopodobnie jest to plik startowy, /etc
który definiuje alias, w przeciwnym razie znajduje się w twoim ~/.bashrc
lub w pliku, który zawiera za pomocą source
lub .
(polecenie kropki).
Jeśli to nie pokazuje aliasu, spróbuj
bash -l -v >bash-l.out 2>&1
Mówi to, że bash jest powłoką logowania, która odczytuje na przykład różne pliki startowe, /etc/profile
a ~/.bash_profile
zamiast /etc/bash.bashrc
i ~/.bashrc
.
bash -x
Jeśli bash -v
nie da ci jednoznacznej odpowiedzi, spróbuj uruchomić bash -x
, która wypisuje polecenia uruchomione przez powłokę, a nie wiersze, które odczytuje powłoka.
Metoda jest w zasadzie taka sama jak powyżej, z wyjątkiem zmiany -v
na -x
. (W razie potrzeby możesz używać obu razem.)
Uruchom tylko z jednym plikiem startowym
bash -i --rcfile="$HOME/.bashrc"
i sprawdź, czy masz alias.
Spróbuj tego samego z rcfile
ustawieniem, /etc/bash.bashrc
jeśli twój system go posiada.
Więc spróbuj
bash -l --rcfile="$HOME/.bash_profile"
i rób to samo z każdym plikiem startowym bash, który ma profile
w swojej nazwie, np. zmień $HOME/.bash_profile
na /etc/profile
.
Niezależnie od tego, w jaki sposób pojawi się alias, zobaczysz plik, od którego powinieneś zacząć szukać.
set -x
jak sugerowano u góry i sprawdź, czy to Ci w tym nie zawęzi.