2013-08-17 35 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