Bash
全域 bash_profile
我意識到有用於設置全域環境變數
/etc/profile
的/etc/bashrc
文件,也許我只是誤解了它們的目的,但是……有全域
bash_profile
文件嗎?我正在使用 Mac OS X
它不叫
bash_profile
,但全域 bash 配置的標準位置是/etc/bash.bashrc
./etc/profile
如果 shell 是 bash ,通常會呼叫它。例如,在我的/etc/profile
我有:if [ "$PS1" ]; then if [ "$BASH" ] && [ "$BASH" != "/bin/sh" ]; then # The file bash.bashrc already sets the default PS1. # PS1=’0 if [ ‐f /etc/bash.bashrc ]; then . /etc/bash.bashrc fi fi fi
在使用方面,
/etc/profile
為所有 Bourne 兼容的 shell(sh、bash、ksh 等)提供系統範圍的配置。通常不需要等效的/etc/bash_profile
,因為配置文件的目的是控制登錄 shell 的行為。通常你想做的任何事情都不會是特定於 bash 的。/etc/bash.bashrc
是特定於 bash 的,將為登錄和非登錄 shell 執行。更複雜的是,看起來 OS X 甚至沒有
/etc/bash.bashrc
. 這可能與 OS X 中的終端預設作為登錄 shell 執行的事實有關,因此失去了區別:終端視窗指南的一個例外是 Mac OS X 的 Terminal.app,它預設為每個新終端視窗執行一個登錄 shell,呼叫 .bash_profile 而不是 .bashrc。其他 GUI 終端仿真器可能會這樣做,但大多數情況下不會這樣做。
我不執行 OS X,所以我的知識範圍到此為止。