bin
ディレクトリが存在する場合は、現在の作業ディレクトリとそのプロジェクト固有のディレクトリを$ PATHに追加したいと思います。
だから私は次の行を.zshrc:
[ -d "$(pwd)/vendor/bin" ] && export PATH="$(pwd)/vendor/bin":"$PATH"
[ -d "$(pwd)/node_modules/.bin" ] && export PATH="$(pwd)/node_modules/.bin":"$PATH"
コマンドを端末に手動で貼り付けると、上記のパスが前に追加されますが、そうでない場合はそうではありません。以前と同じです$PATH
。また、"${PATH}"
zshpath
関数など、さまざまな作成方法も試しました。どちらも手動で貼り付けると機能しますが、内部では機能しません。.zshrc文書。
-
オンライン中macOS ハイシエラ v10.13.6そして基本端末そして使用zsh v5.7.1。
ベストアンサー1
具体的には、zsh
次のようにできます。
path[1,0]=( ~/projects/{vendor/,node_modules/.}bin(/N) )
どこ:
path[1,0]=( list )
list
配列の先頭にを挿入します($path
inはinと同じ配列ですzsh
)。$PATH
csh
globが有効になり、ディレクトリタイプのファイルを選択する(N/)
glob修飾子です。したがって、対応する 2 つのファイルが存在し、タイプの場合は、前に追加します。N
nullglob
/
$PATH
目次。
pwd
p
w
は、現在のorkingd
ディレクトリ(変数の内容)を印刷するコマンドです$PWD
。しかし、これも危険です。たとえば、他の人のディレクトリから起動すると、誰かが同じ標準コマンドを無視する悪意のあるファイルをそこに植える可能性があります。$(pwd)
$PWD
.zshrc
$PATH
zsh
zsh
/tmp
ls
rm