Zsh
無法立即訪問 $PATH 文件夾中的二進製文件
在我
$PATH
的文件夾~/.zsh/bin
中,我將其用於小腳本和自定義建構的可執行二進製文件,例如,我添加了一個最近編譯的工具,我呼叫wercker_build_status
了該文件夾。然而,當我在命令行中輸入時wercker_build_status
它找不到它,我必須輸入文件的完整路徑,~/.zsh/bin/wercker_build_status
.這並不是說文件夾中的任何內容都不起作用,我呼叫的腳本
wifi_status
在那裡,在命令行中鍵入它會按預期返回 wifi 狀態。為什麼即使它在我的
$PATH
我不能只使用我添加到文件夾中的文件~/.zsh/bin
?
在您的路徑中使用
$HOME
而不是波浪號 (~
),尤其是當您將新PATH
的用雙引號括起來時。波浪號出現在引號中時不會擴展。測試:
$ mkdir "$HOME/t" $ cat >"$HOME/t/foo" <<END #!/bin/sh echo "hello" END $ chmod +x "$HOME/t/foo" $ PATH="$PATH:~/t" $ foo zsh: command not found: foo $ PATH="$PATH:$HOME/t" $ foo hello
另請參閱:為什麼波浪號 (~) 不在雙引號內展開?