Możliwa duplikat:
Różnica między .bashrc i .bash_profile
Jaka jest różnica między .profile
i .bash_profile
, a kiedy konfigurujesz, które?
Czyli jeśli skonfiguruję .bash_profile
, czy nadal muszę konfigurować .profile
?
Możliwa duplikat:
Różnica między .bashrc i .bash_profile
Jaka jest różnica między .profile
i .bash_profile
, a kiedy konfigurujesz, które?
Czyli jeśli skonfiguruję .bash_profile
, czy nadal muszę konfigurować .profile
?
Odpowiedzi:
Zakładając, że bash
jest to twoja domyślna powłoka, różnice opisano w bash
man page ( man bash
):
When bash is invoked as an interactive login shell, or as a non-interac-
tive shell with the --login option, it first reads and executes commands
from the file /etc/profile, if that file exists. After reading that file,
it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that
order, and reads and executes commands from the first one that exists and
is readable. The --noprofile option may be used when the shell is started
to inhibit this behavior.
Więcej szczegółów znajduje się na stronie man, która obejmuje tryb kompatybilności z powłoką POSIX, czyli skąd .profile
pochodzi. Przeczytaj całą sekcję strony podręcznika dla wszystkich szczegółów.
Jeśli skonfigurujesz .bash_profile
, nie będziesz musiał również konfigurować .profile
.
Lubię przechowywać własne aliasy i polecenia .profile
, aby w razie popsuć coś wiem, że zawsze mogę je usunąć .profile
bez wpływu na cały system lub inne modyfikujące aplikacje .bash_profile
(takie jak MacPorts).
Aby użyć .profile
, może być konieczne włączenie linię source ~/.profile
w swoim .bash_profile
tak, że .profile
plik jest czytany (patrz odpowiedź Ned Deily za).
.profile jest wykonywany przez bash, gdy uzyskasz normalny proces powłoki - np. otworzysz narzędzie terminalu. Plik .bash_profile jest wykonywany przez bash dla powłok logowania - tak jest na przykład wtedy, gdy telnet / ssh jest na twoim komputerze zdalnie. Na przykład, jeśli ssh zdalnie zalogujesz się na maszynie (powiedzmy, że otwierasz X Terminal), na początku zostanie uruchomiony .bash_profile. Jeśli w tym XTerminalu wpiszesz „xterm” i odrodzisz inny X Terminal, plik .profile zostanie wykonany dla drugiej instancji XTerminal. Pliki znajdują się w twoim katalogu domowym (~). Jeśli domyślnie się nie mylę, oba uruchamiają ~ / .bashrc, więc możesz je edytować, aby skonfigurować wspólne ustawienia / zmienne zarówno dla powłok logowania, jak i bez logowania (np. Ustawienie PATH, niektóre aliasy / skróty itp.).
.profile
?
dla szybkiej i prostej konfiguracji (gdzie nie chcesz skomplikowanych rzeczy) po prostu skonfiguruj wszystko w ~ / .profile. Tylko wtedy, gdy napotkasz jakieś problemy (ale prawdopodobnie nigdy się nie dowiesz), dowiedz się więcej o .bash_login lub .bash_profile;)
Jestem też na OS X i nigdy nie potrzebowałem .bash_profile lub .bash_login i używam tylko .profile, ale przebieg może się różnić ...
.profile
tylko.bashrc
:(