我的问题:我的终端中定义了一些别名。我正在执行一个需要使用该别名的csh脚本,但它无法识别。
我理解为什么它无法识别,并且使用source
执行脚本正在运行。然而,这是一个我无法使用的解决方案(出于各种原因..)
我可以看到,在bash中,已知的解决方案是将shopt -s expand_aliases
添加到脚本中。但是在csh中没有识别出shopt。
是否有一些匹配解决方案?还是其他什么?
答案 0 :(得分:0)
如果可以选择更新脚本:请将别名命令放在文件中,而不是整个脚本,例如.cshalias。在脚本内部,在开头添加行以获取此别名文件:source .cshalias
。这应该做。
理想情况下,您编写的shell脚本应该在其中包含2个别名文件:用户级文件~/.cshrc
和系统范围/etc/csh.cshrc
,以便将来发生的任何更新都会反映在您的脚本中。也有可能存在一些其他文件,其中定义了别名,您必须在脚本中找到并获取源。