Bash csh:识别脚本中的已知别名
我的问题:我的终端中定义了一些别名。然后我执行一个csh脚本,该脚本需要使用该别名,但无法识别 我理解为什么它不能被识别,并且使用Bash csh:识别脚本中的已知别名,bash,terminal,alias,csh,Bash,Terminal,Alias,Csh,我的问题:我的终端中定义了一些别名。然后我执行一个csh脚本,该脚本需要使用该别名,但无法识别 我理解为什么它不能被识别,并且使用源代码执行脚本是可行的。然而,这是一个我无法使用的解决方案(出于各种原因…) 我可以看到,在bash中,已知的解决方案是向脚本添加shopt-s expand\u别名。但shopt在csh中不被认可 有匹配的解决方案吗?或任何其他?如果有更新脚本的选择:将alias命令放在一个文件中,例如,.cshalias,而不是整个脚本的源代码。在脚本内部,在开始处,将以下行添加
源代码执行脚本是可行的。然而,这是一个我无法使用的解决方案(出于各种原因…)
我可以看到,在bash中,已知的解决方案是向脚本添加shopt-s expand\u别名。但shopt在csh中不被认可
有匹配的解决方案吗?或任何其他?如果有更新脚本的选择:将alias命令放在一个文件中,例如,.cshalias,而不是整个脚本的源代码。在脚本内部,在开始处,将以下行添加到此别名文件的源代码:source.cshalias
。这应该可以
理想情况下,您编写的shell脚本应该包含两个别名文件:用户级文件~/.cshrc
和系统级文件/etc/csh.cshrc
,以便将来发生的任何更新也会反映在您的脚本中。也可能还有其他一些文件定义了别名,您必须在脚本中查找并找到这些别名的来源。恐怕这也不是一个选项。别名不是由我定义的,我也不知道它们何时会被更新或更改。