Shell
採購 .zshrc 時的奇怪行為
我
zsh 5.0.2 (x86_64-apple-darwin12.3.0)
在最新的 MacOSX 上使用。如果有什麼不同,我也啟用了oh-my-zsh
.
.zshrc
當我想獲取該文件時,shell 似乎缺少該文件。以下命令的執行結果應該清楚地暴露我的問題。(
~ »
是我的提示)。文件存在
~ » ls -l .zshrc -rw-r--r-- 1 user staff 1882 May 16 10:43 .zshrc ~ » [[ -r .zshrc ]] && echo "Exists" Exists
該文件不被“。”讀取。
~ » . .zshrc .: no such file or directory: .zshrc
我不知道是什麼導致了這種行為,尤其是它有效
~ » . "$(pwd)"/.zshrc Success!
我的問題是:
為什麼
. .zshrc
行不通?
該
.
命令在您的 中搜尋文件,$path
預設情況下不在目前目錄中搜尋。這就是為什麼當你給出絕對路徑("$(pwd)"/.zshrc
)時它起作用的原因。. 文件
$$ arg … $$ 從文件中讀取命令並在目前 shell 環境中執行它們。
如果文件不包含斜杠,或者設置了 PATH_DIRS,則 shell 會查找 $ path to find the directory containing file. Files in the current directory are not read unless ‘.’ appears somewhere in $ 小路。
…
與
source
命令比較:源文件
$$ arg … $$ 與 ‘.’ 相同,除了總是搜尋目前目錄並且總是首先搜尋,在 $path 中的目錄之前。