2013-01-21 49 views
0

我的問題:我在終端中定義了一些別名。然後我執行一個需要使用該別名的csh腳本,但它不被識別。csh:識別腳本中的已知別名

我明白爲什麼它不被識別,並執行與source腳本正在工作。然而,這是一個解決方案,我無法使用(出於各種原因..)

我可以看到,在bash中,已知的解決方案是將shopt -s expand_aliases添加到腳本中。但shopt在csh中不被識別。

是否有一些匹配解決方案?還是其他?

回答

0

如果有更新腳本的選擇:而不是採購整個腳本,請將別名命令放在一個文件中,例如.cshalias。在腳本內部,在開始處添加以下行以獲取此別名文件:source .cshalias。這應該做的。

理想情況下,您編寫的shell腳本應該在內部採購2個別名文件:用戶級別文件~/.cshrc和系統範圍/etc/csh.cshrc,以便將來任何更新都會反映在您的腳本中。還有可能還有其他一些文件,其中定義了別名,您必須在腳本中查找並獲取別名。

+0

恐怕這不是一個選項。別名不是由我定義的,我無法分辨何時可能會更新或更改別名。 – Mugen