Konfiguruję nowy komputer z systemem Linux, który dostałem z naszego działu IT, i zauważyłem, że .profile
nie jest ładowany, gdy rozpoczynam nową sesję terminalową. Obecna powłoka to Bash , chociaż zmieniłem ją z domyślnej sh, z której była dostarczona. Jak ustawić ładowanie .profile
przy starcie?
Mam dostęp do powłoki przez SSH : ssh myusername@remotemachine
. Mam uprawnienia administratora.
Odpowiedzi:
Gdy Bash zaczyna się jako interaktywna powłoka logowania, jednym z plików, które może przetwarzać, jest
~/.profile
.Kiedy zaczyna się jako interaktywna powłoka niezalogowana, tak się nie dzieje. Przetwarza
/etc/bash.bashrc
(jeśli ten plik lub podobny plik jest włączony w twojej wersji Bash) i~/.bashrc
.Możesz dodać następujące
~/.bashrc
(ale uważaj, aby nieumyślnie zmienić pętle lub wartości):źródło
[ -z "$SOME_VAR_SET_IN_PROFILE" ] && . ~/.profile
To zależy od tego, jak uruchomisz swoją powłokę. Jak powiedzieli inni, powłoka logowania załaduje twój profil (najpierw szuka .bash_profile, a następnie spróbuje .profile). Jeśli znajdzie jeden z nich, ładuje je. Powłoka niezalogowana (interaktywna lub nieinteraktywna) będzie źródłem .bashrc.
Sugeruję umieszczenie wszystkiego w .bashrc. Podział .profile / .bashrc był swego rodzaju arbitralny i miał więcej sensu w dawnych czasach UNIX-a, gdy tty nie było tylko nazwą urządzenia i oznaczało rzeczywisty TeleType. Miał on uruchamiać pewne rzeczy (np. Sprawdzanie poczty) przy „głównym” logowaniu do serwera, a po prostu normalną konfigurację innych powłok. W większości Linuksów zalogujesz się teraz, tak naprawdę nie logujesz się do powłoki, ponieważ logujesz się do jakiegoś interfejsu graficznego (KDE, gnome, CDE „dreszcz”). Menedżer sesji zajmuje się teraz „procesami logowania spawn”. Teraz jest to mniej istotne.
Moja sugestia: spraw, aby Twój .profile składał się wyłącznie z:
jako pierwszy wiersz .bashrc, strzeż się dziwnych rzeczy podczas uruchamiania skryptu bash, wyskakując wcześnie:
źródło
.profile
powinien być utrzymany agresywny bash. Sugeruję skonfigurować.bash_profile
ładowanie,.profile
a następnie ładowanie.bashrc
. wkładaj tylko agresywne rzeczy typu bash.profile
, likePATH
iLC_*
takie tam. Wrzuć resztę.bashrc
.