1

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

我理解为什么它不能被识别,并且执行脚本source正在工作。但是,这是我无法使用的解决方案(出于各种原因..)

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

有一些匹配的解决方案吗?还是其他?

4

1 回答 1

0

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

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

于 2013-01-21T12:33:41.253 回答