0

我定义了一组别名,即使它以非交互方式运行~/.aliases,我也希望在其中使用这些别名。sh我的系统已以典型方式设置,因此它sh是指向bash.

当 bash 以非交互方式运行时bash,这可以通过shopt -s expand_aliases与设置$ENV$BASH_ENV(直接或间接)源一起使用~/.aliases

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

4

1 回答 1

2

在运行脚本时强制 shell 交互的一种方法是使用-i以下方法:

$ bash -i <script>

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

#!/bin/bash

和:

#!/bin/bash -i
于 2012-01-30T15:55:42.063 回答