Shell-Script
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
一種簡單的方法,有一些小的改進:
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
來測試目錄的存在性,然後我檢查$path
變數是否包含類似/path/to/python/bin
; 如果目錄存在並且路徑變數還不包含該路徑,則追加它。我相信 csh 語法使用空格來分隔路徑中的元素,而不是冒號。