有没有办法在非交互式sh shell中扩展别名?

时间:2012-01-30 14:59:06

标签: environment-variables sh bash non-interactive

我在~/.aliases中定义了一组别名,我希望sh可以使用这些别名,即使它是非交互式运行的。我的系统已按典型方式设置,因此shbash的符号链接。

当bash以bash非交互方式运行时,可以将shopt -s expand_aliases$ENV$BASH_ENV设置为(直接或间接)来源{{1} }}

但是当~/.aliases以非bash非交互方式调用时,它似乎忽略了sh和所有启动文件,所以我看不到这样做的方法。有任何想法吗?或者这是不可能的?

1 个答案:

答案 0 :(得分:2)

在运行脚本时强制shell进行交互的一种方法是使用-i,例如:

$ bash -i <script>

另请注意,如果您的脚本具有执行权限,则可以替换:

#!/bin/bash

使用:

#!/bin/bash -i