我在~/.aliases
中定义了一组别名,我希望sh
可以使用这些别名,即使它是非交互式运行的。我的系统已按典型方式设置,因此sh
是bash
的符号链接。
当bash以bash
非交互方式运行时,可以将shopt -s expand_aliases
与$ENV
或$BASH_ENV
设置为(直接或间接)来源{{1} }}
但是当~/.aliases
以非bash
非交互方式调用时,它似乎忽略了sh
和所有启动文件,所以我看不到这样做的方法。有任何想法吗?或者这是不可能的?
答案 0 :(得分:2)
在运行脚本时强制shell进行交互的一种方法是使用-i
,例如:
$ bash -i <script>
另请注意,如果您的脚本具有执行权限,则可以替换:
#!/bin/bash
使用:
#!/bin/bash -i