Shell-Script

csh - 檢查 $PATH 變數是否包含子字元串

  • May 1, 2018

也許我在想這個錯誤,但$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 語法使用空格來分隔路徑中的元素,而不是冒號。

引用自:https://unix.stackexchange.com/questions/441133