Tcsh

tcsh 中的多行 PATH

  • March 14, 2013

受此執行緒公認答案的啟發,我試圖在 tcsh(版本 6.14.00)中複製類似的結構,但沒有運氣:

setenv new_PATH (
/some/path
/some/other/path

# Some comments
/foo/path

# Another group
/bar/path

$PATH) # Attach $PATH at the end in case we had previous declarations

setenv PATH `sed -e '/^#/'d -e '/^$/'d << EOF | paste -d ":" -s $new_PATH`

我收到錯誤“ Too many ('s”。我究竟做錯了什麼?

你可以這樣做:

set path = (        \
   /this/dir       \
                   \
# This is a comment \
                   \
   /that/dir       \
   /another/dir    \
)

另一種方法是從文件中讀取目錄名稱:

set path = ()
foreach dir (`/bin/cat path.txt`)
   set path = ( $path $dir )
end

請注意,我需要指定,/bin/cat因為我剛剛破壞了我的$PATH.

您可以替換cat為過濾掉註釋的內容(例如簡單的sed– 或者更確切地說/bin/sed– 命令)。

這會對包含空格或其他有趣字元的目錄路徑產生問題,但無論如何您都應該盡量避免這些問題。

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