2012-01-30 82 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 
相關問題