zshにディレクトリがまだ存在しない場合にのみ、私のPATHにディレクトリを追加する方法はありますか?

zshにディレクトリがまだ存在しない場合にのみ、私のPATHにディレクトリを追加する方法はありますか?

zshで私のPATHにディレクトリを追加する簡単な方法はありますか(ディレクトリがまだ存在していない場合のみ)? (またはより一般的にはすべての環境変数)。私は試した:

PATH+=/my/directory

...しかし、2回実行すると2回追加されます。

ベストアンサー1

Inはzsh $PATH配列に関連付けられています(参照typeset -T$path。配列が次のように強制できます。ユニーク値は次のとおりです。

typeset -U path PATH

Uここでもnique属性が追加され、代わりに割り当てる$PATHと重複排除も発生します)$PATH$path

次に、パスを追加します。

path+=(~/foo)

すでに存在していても心配しないでください。

先頭に追加するには:

path=(~/foo "$path[@]")

または:

path[1,0]=~/foo

~/fooすでに含まれている場合は$path前方に移動します。

おすすめ記事