2013-08-17 43 views
0

[在我的.bashrc]猛砸,[.bashrc中]的別名功能

基本上我試圖讓一個別名:

alias e='su -c' 

但是,當我在寫終端:

~$ e ls -goFha /root 

我(顯然)出現錯誤:

su: group oFha does not exist 

如果$海峽被命令的其餘部分更換,herebelow代碼將工作:

alias e='su -c "$str"' 

但別名不以這種方式工作。所以,我想到了一個功能。

由整個參數字符串替換$海峽,它可能是這樣的:

e() { 
    "su -c '$str'" 
} 

如何獲得在函數整個參數字符串?

你會如何寫我的功能?

感謝

+0

爲什麼不'E 「LS -goFha /根」'?還是你想避免引號? – lurker

回答

3

這裏是另一種解決方案:

e() { 
    su -c "$*" 
} 
1

你可以試試這個:

 

    e() { 
     CMD="[email protected]" 
     su -c "$CMD" 
    } 

+0

$ e ls -goFh/root; 「bash:su -c ls:command not found」 – loxaxs

+0

試試這個:「su -c/usr/bin/$ @」 –

+0

bash:su -c/usr/bin/ls:沒有這樣的文件或目錄 – loxaxs