Jaký je rozdíl mezi ~/.profile
a ~/.bash_profile
?
The .profile
byla původní konfigurace profilu pro Bourne Shell (a.k.a., sh
). bash
, protože je společností Bourne kompatibilní, Shell ji přečte a použije. The .bash_profile
na druhé straně čte pouze bash
. Je určen pro příkazy, které nejsou kompatibilní se standardním Bourne Shell.
Původní sh
získalo při spuštění .profile
.
bash
se nejprve pokusí zdroj .bash_profile
, ale pokud to neexistuje, bude zdroj .profile
1.
Pokud je bash
spuštěno jako sh
(např. /bin/sh
Je odkaz na /bin/bash
) Nebo je spuštěno s příznakem --posix
, snaží se napodobit sh
a přečte pouze .profile
.
Poznámky pod čarou:
.bash_profile
, .bash_login
, .profile
Viz také:
Víte, že ve světě UNIX existuje mnoho granátů, ale většina z nich je:
/bin/sh
(Vynálezce: Stephen Bourne)/bin/bash
(Inventor: Brian Fox, pod GNU) (silný Shell)/bin/csh
(Inventor: Bill Joy, vynálezce zásobníku TCP/IP)/bin/ksh
(Vynálezce: David Korn pod Bell Labs)/bin/zsh
(Výkonná skořápka)/bin/tcsh
(odvozeno od C Shell)/bin/dash
(Odvozeno od Almquist Shell (popel v projektu NetBSD)) (Dash narozený z lenny)Ale vaše otázka je o ~/.bash_profile
a ~/.profile
:
Když se přihlásíte do počítače UNIX, přesměruje se do vašeho domovského adresáře podle prostředí Shell, které vybral správce v posledním poli /etc/passwd
jako :
mohsen:x:1000:1000:Mohsen Pahlevanzadeh,,,:/home/mohsen:/bin/bash
Vaše prostředí se spustí a ve výchozím nastavení má každý soubor prostředí soubor pro login
a logout
. Když se přihlásíte na bash, ~/.profile
je spuštěno a když logout
, ~/.bash_logout
je spuštěn. ~/.bash_history
file zachovává váš vstupní příkaz.
~/.login
Při přihlášení~/.logout
Když se odhlásíte~/.tcshrc
stejný jako ~./bashrc
v bashMůžete nastavit proměnnou $histfile
jako název souboru historie a proměnné $history
jako počet příkazů k zachování.
Opravdu je to mocný Shell a pokud máte volný čas, ujistěte se, že do něj migrujete.
Kromě jiných Shell, Z Shell má mnoho konfiguračních souborů a inicializačních souborů, jen píšu:
$ZDOTDIR/.zshenv
$ZDOTDIR/.zprofile
$ZDOTDIR/.zshrc
$ZDOTDIR/.zlogin
$ZDOTDIR/.zlogout
/tmp/zsh*
/etc/zshenv
/etc/zprofile
/etc/zshrc
/etc/zlogin
Poznámka: pokud $ZDOTDIR
unset, home set.
Poznámka: TENEX C Shell byl vidličkou od C Shell. C Shell podporuje BSD. Pokud znáte programování v jazyce C, měli byste být příjemní, protože jeho syntaxe je podobná.
~/.login
~/.cshrc
~/.logout
Poznámka: csh je starý. Místo toho použijte tcsh.
~/.profile
Je to velmi mocný Shell a narodil se v rámci projektu GNU) a viděl Bourne Shell.
~/.bash_login
~/.bash_logout
~/.bashrc
~/.bash_profile
~/.bash_history
Při přihlášení se spustí bash ~/.bash_profile
a ~/.bash_profile
běží ~/.bashrc
. Vskutku ~/.bashrc
není inicializační soubor bash, protože bash jej nespustí.
Je mrtvý. I když používáte man sh
, uvidíte manuál dash
. [Poznámka editora: bit o dash
se vztahuje pouze na distribuce Debianu a Debianu jako Ubuntu.]
~/.bash_profile
pracovat pod bash, ale ~/.profile
pracovat pod Bourne a Korn Shell.
Přihlašovací prostředí je jednoduše prostředí, ve kterém se můžete přihlásit jako ssh nebo na konzoli. Shell bez přihlášení je Shell, do kterého se také nemůže přihlásit někdo. Shell bez přihlášení je často používán programy/systémovými službami.
Pokud jde o váš třetí bod. Je to pravda .bashrc
se provádí na každé instanci Shell. Nicméně .bash_profile
se používá pouze při přihlášení. To je důvod pro dva oddělené soubory.
.profile
je pro věci, které se nevztahují konkrétně k Bash, stejně jako proměnné prostředí $ PATH by měly být k dispozici kdykoli. .bash_profile
je konkrétně pro přihlašovací skořápky nebo skořápky provedené při přihlášení.