csh:识别脚本中的已知别名

时间:2013-01-21 12:16:12

标签: bash terminal alias csh

我的问题:我的终端中定义了一些别名。我正在执行一个需要使用该别名的csh脚本,但它无法识别。

我理解为什么它无法识别,并且使用source执行脚本正在运行。然而,这是一个我无法使用的解决方案(出于各种原因..)

我可以看到,在bash中,已知的解决方案是将shopt -s expand_aliases添加到脚本中。但是在csh中没有识别出shopt。

是否有一些匹配解决方案?还是其他什么?

1 个答案:

答案 0 :(得分:0)

如果可以选择更新脚本:请将别名命令放在文件中,而不是整个脚本,例如.cshalias。在脚本内部,在开头添加行以获取此别名文件:source .cshalias。这应该做。

理想情况下,您编写的shell脚本应该在其中包含2个别名文件:用户级文件~/.cshrc和系统范围/etc/csh.cshrc,以便将来发生的任何更新都会反映在您的脚本中。也有可能存在一些其他文件,其中定义了别名,您必须在脚本中找到并获取源。