マイフォルダには、小さなスクリプトとカスタム実行可能バイナリ用のフォルダが$PATH
あります~/.zsh/bin
。たとえば、最近コンパイルされたツールを追加し、wercker_build_status
そのフォルダを呼び出しました。ところで、コマンドラインに入力してもwercker_build_status
見つからず、ファイルのフルパスである~/.zsh/bin/wercker_build_status
。
だからといって、フォルダに何も機能しないということではありません。私が呼び出したスクリプトがwifi_status
そこにあり、コマンドラインに入力すると、期待どおりにWi-Fiステータスが返されます。
私のフォルダにありますが、なぜ$PATH
フォルダに追加されたファイルを使用できないのですか~/.zsh/bin
?
答え1
$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