Chcę usunąć ~/bin
z mojej ŚCIEŻKI. Skonfigurowałem to kilka miesięcy temu, kiedy Linux (Ubuntu) był dla mnie bardzo nowy, ale nie wiem, jak go dodałem ...
Nic nie pojawia się podczas wyszukiwania wszystkich plików wymienionych poniżej.
Gdzie jeszcze można to ustawić? Jest wstępnie zawieszony po $HOME/.profile
prefiksach ŚCIEŻKA z$HOME/bin
Jeśli robi to jakąkolwiek różnicę, otrzymuję tę samą ŚCIEŻKĘ z wiersza polecenia i działającego skryptu.
#!/bin/bash
{
echo "first dir of PATH is: '${PATH%%:*}'"
shopt -s nullglob
cat \
/etc/profile \
/etc/bash.bashrc \
/etc/profile.d/*.sh \
$HOME/.bashrc \
$HOME/.bash_aliases \
/etc/bash_completion \
$HOME/.bash_completion* \
$HOME/.profile \
$HOME/.profile_zap \
$HOME/.bash_profile* \
$HOME/.bash_login* \
| sed -rne '/~\/bin/p'
}
Dane wyjściowe to:
first dir of PATH is: '~/bin'
bash
environment-variables
path
Peter.O
źródło
źródło
PATH
Zamiast tego spróbuj greppinga . Jeśli nadal nie ma szczęścia, sprawdź wszystkie pliki pod kątem pozyskiwanego źródła.~/.gnomerc
...Odpowiedzi:
Możesz śledzić pełne obciążenie środowiska podczas logowania. Po prostu pomysł.
Ponieważ / etc / profile to pierwszy plik źródłowy, możesz dodać do niego na samym szczycie:
Następnie otwórz nowy terminal i zrób
bash -l
; potem przejdź do oryginalnego terminalu i usuń dodane linie (chcesz mieć środowisko pracy, prawda?).Powinieneś zakończyć pełną ścieżką wszystkich kroków środowiska ładowania_bash w /tmp/debug.log. To będzie długi plik.
Dzięki temu musisz być w stanie zlokalizować, gdzie „~ / bin” dostaje się do twojej ŚCIEŻKI
Najpierw szukałem grep wszystkich pobranych plików. Z twojego postu założę się, że ~ / bin na ścieżce jest ustawiony w innym pliku z tych, które wymieniłeś.
źródło
konsole
) ... Pierwsze odniesienie do~/bin
pokazuje to już w ścieżka, ale nie widzę śladu skąd pochodzi .. jest w tym momencie, już po przez$HOME/bin
z$HOME/.profile
(jestem pewien, że to stamtąd, jak użyłem specjalną dodatkową katalogu dla tego testu). ... Jednak udało mi się go znaleźć empirycznie, przeszukując wszystkie moje pliki tekstowe .. Pochodzi z~/.gnomerc
... i muszę się ponownie zalogować, aby to zmienić. ?? !! ..bash -l
? Musi wysłać debugowanie (-x), które przechodzi do stderr do /tmp/debug.log; rzeczywiście właśnie to przetestowałem i działa tak, jak się spodziewałemset
zeexec
w drugiej linii, a następnie pracował idealnie dla mnie :)