Kiedy ssh do mojego ubuntu-box z systemem Hardy 8.04, zmienne środowiskowe w moim .bashrc
nie są ustawione.
Jeśli zrobię źródło .bashrc
, zmienne są poprawnie ustawione i wszystko jest w porządku.
Dlaczego .bashrc
nie jest uruchamiany przy logowaniu?
.bashrc
i.bash_profile
!Odpowiedzi:
.bashrc
nie jest pozyskiwany podczas logowania przy użyciu SSH. Musisz go zdobyć w.bash_profile
następujący sposób:źródło
.bashrc
domyślnie jest on pozyskiwany przy SSH..bashrc
wyjęciu z pudełka - ale robi to z.profile
, nie.bash_profile
.Miałem podobną sytuację jak Hobhouse. Chciałem użyć polecenia
a „some_command” istnieje w „/ var / some_location”, więc próbowałem dołączyć „/ var / some_location” w środowisku PATH, edytując „$ HOME / .bashrc”
ale to nie działało. ponieważ domyślny plik .bashrc (Ubuntu 10.4 LTS) zapobiega pobieraniu kodu według kodu jak poniżej
więc jeśli chcesz zmienić środowisko dla powłoki non-login ssh. powinieneś dodać kod powyżej tej linii.
źródło
bash # If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac
Aby dowiedzieć się więcej o tym, jak działa wywoływanie bash, jakie pliki dots robią i jak ich używać / konfigurować, przeczytaj:
źródło
Jeśli rozwiązanie ayman nie działa, spróbuj nazwać swój plik
.profile
zamiast.bash_profile
. To działało dla mnie.źródło
.profile
ma być wykonywany przez dowolną powłokę logowania, niezależnie od tego, czy wspomniana powłoka zamierza odrodzić GUI. Twój komentarz jest całkowicie sprzeczny z pytaniem i tą odpowiedzią, która wyraźnie wskazuje, że.profile
jest wywoływane w SSHing w - wyraźnie nie GUI.