想像する
GitHubにProductivityScriptsプロジェクトがあり、Linux(Debian 9)をインストールするときにPATH
使いやすいようにこのフォルダを追加しました。
つまり、次の行を追加します~/.bashrc
。
export PATH="~/Dev/ProductivityScripts:$PATH"
効果があるこれで、どこからでもこのフォルダ内で名前でスクリプトを実行できます。
alec@my_host:~$ capsalt
SUCCESS!
ただし、入力するとwhich capsalt
何も出力されません。
which
ほとんどのことが動作します。
alec@my_host:~$ which git
/usr/bin/git
質問
which
PATHに手動で追加された場所で利用可能なスクリプトを追跡することはできませんか?それともこれがうまくいかないもう一つの理由はありますか?
答え1
~
これは、二重引用符内で変数として機能せず、which
チルダを独自に拡張しないためである可能性が高いです。
使用
PATH="$HOME/Dev/ProductivityScripts:$PATH"
代わりに。HOME
これは環境変数であり、通常どおり二重引用符で展開されます。また、PATH
すでにエクスポートしているため、再エクスポートする必要はありません(転送しても問題ありません)。
チルダに関する追加情報:二重引用符の中でチルダ(〜)が拡張されないのはなぜですか?
また、見ることができます「which」を使わないのはなぜですか?それでは何を使うべきですか?