PATH(.cshrc)で重複エントリを防止する

PATH(.cshrc)で重複エントリを防止する

.cshrcファイルのパス変数にディレクトリを追加する必要があり、そのエントリがパス変数の既存のディレクトリと重複していないことを確認したいと思います。これに適したコマンドを提案できる人はいますか?私のコンピュータのパスは:スペースで区切られていません。

ベストアンサー1

Linuxでは、次のことがcshできtcshます。

set -f path=("/new/entry" $path:q)

csh,tcshそしてzsh,$path特に大量に変数$PATH スカラー環境変数は、配列の要素がコロン文字に変数を分割して$path構成されるためです。修正や$PATHその他の変数に自動的に反映されます。$path$PATH

-f上記は最初の項目だけを保持します。引用されて単語の分割を防ぐ$path:q要素です。$pathしたがって、上記の構文は、/new/entryすでに存在する場合はそれを追加するか、前に移動します。

なぜ使用するのですかcsh


注:上記の引用符が必要です。あるいは、より正確には、/new/entryすべての文字を何らかの方法で参照する必要があります。

set -f path=('/new/'\e"ntry" $path:q)

大丈夫です。

set -f path=(/'new/entry' $path:q)

いいえ。ただし、いつでも次の2つの手順で実行できます。

set path=(/new/entry $path:q)
set -f path=($path:q)

(遠くから過ごしたい理由の一つcsh

おすすめ記事