2012-01-30 39 views
0

我在~/.aliases定义的别名,我想提供给sh即使当非交互方式运行的集合。我的系统已经以典型的方式安装,因此sh是与bash的符号链接。有没有办法在非交互式sh shell中扩展别名?

当bash运行非交互作为bash,这可以通过使用与shopt -s expand_aliases设定$ENV$BASH_ENV到(直接或间接)源~/.aliases在一起。

但是当bash被非交互式地调用为sh时,它似乎忽略了$ENV和所有启动文件,所以我看不到一种方法来做到这一点。有任何想法吗?或者这是不可能的?运行脚本使用-i如时强制外壳

+0

您是否试过'〜/ .bash_aliases'?看看http://wiki.ubuntuusers.de/alias它正在我的盒子上工作。 – 2012-01-30 15:43:08

回答

2

一种方式是互动:

$ bash -i <script> 

此外,请注意,如果你的脚本有执行权限,可以更换:

#!/bin/bash 

附:

#!/bin/bash -i 
相关问题