Zshでディレクトリがまだ存在しない場合にのみ、PATHにディレクトリを追加する簡単な方法はありますか? (または、より一般的には、任意の環境変数)。私はもう試した:
PATH+=/my/directory
...しかし、それが2回実行されると、2回追加されます。
zsh
では、$PATH
はtypeset -T
配列に関連付けられています($path
を参照)。次のようにすると、配列にniqueの値を強制的に設定できます。
typeset -U path
次に、次のパスを追加します。
path+=(~/foo)
すでにあったとしても心配する必要はありません。
フロントに追加するには、次のようにします。
path=(~/foo "$path[@]")
または:
path[1,0]=~/foo
~/foo
がすでに$path
にあった場合は、それが前面に移動します。
スタートアップファイルの1つにexport -U PATH=~/foo${PATH:+:$PATH}
を追加します。 -U
は、配列内の値の最初の出現のみ、またはPATHなどの特定の:
区切り変数を保持します。