csh - $PATH変数に部分文字列が含まれていることを確認する

csh - $PATH変数に部分文字列が含まれていることを確認する

$PATH私の考えが間違っているかもしれませんが、変数がまだない場合は、変数にPythonを追加したいと思います。

これは私のコードです

# Add Python to $PATH
if(-e /path/to/python/bin && (! $PATH.Contains('python')) then
    set path=($path:/path/to/python/bin)
else
    echo 'ERROR: Unable to find the path to Python executable in .cshlc!'
endif

ベストアンサー1

いくつかのマイナーな改善を含む簡単なアプローチ:

if (-d /path/to/python/bin && "$path" !~ *"/path/to/python/bin"*) then
    set path=($path /path/to/python/bin)
else
    echo 'ERROR: Unable to find the path to Python executable in .cshlc!'
endif

ディレクトリが存在するかどうかをより強力なテストに変更し、変数に次の-e内容が含まれていることを確認-dしました。ディレクトリが存在し、パス変数にパスがまだ含まれていない場合は、そのディレクトリが追加されます。私はcsh構文がパスの要素を区切るためにコロンではなく空白を使用すると思います。$path/path/to/python/bin

おすすめ記事