Możliwa duplikat:
Różnica między .bashrc i .bash_profile
Jaka jest różnica między .profilei .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 .profilei .bash_profile, a kiedy konfigurujesz, które?
Czyli jeśli skonfiguruję .bash_profile, czy nadal muszę konfigurować .profile?
Odpowiedzi:
Zakładając, że bashjest to twoja domyślna powłoka, różnice opisano w bashman 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 .profilepochodzi. 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ąć .profilebez 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 ~/.profilew swoim .bash_profiletak, że .profileplik 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ć ...
.profiletylko.bashrc:(