PLN*_*ech 11 shell alias sudo sh
看看将当前用户的别名传递给sudo命令的方法,我在ArchWiki上找到了以下内容:
传递别名
如果您使用了很多别名,您可能已经注意到在使用sudo时它们不会转移到root帐户.但是,有一种简单的方法可以使它们工作.只需将以下内容添加到您
~/.bashrc或/etc/bash.bashrc:
alias sudo='sudo '
我不明白为什么会这样.如果shell不关心两个命令之间有多少空格,这怎么会有效?
手动添加空格时,我认为没有区别:
$ alias e=echo
$ sudo e foo
sudo: e: command not found
$ sudo e foo # Manual space addition
sudo: e: command not found # Fail
$ alias sudo="sudo " # Now with alias
$ sudo e foo
foo # Succeeds, but why?
Run Code Online (Sandbox Code Playgroud)
可见别名sudo到sudo + space以某种方式允许传递别名.这部作品zsh,bash并且sh,所以它不是一个特定的壳行为.
and*_*lrc 13
查看别名的手册页:
VALUE中的尾随空格会在扩展别名时检查下一个单词的别名替换.
资料来源:http://www.linuxcommand.org/lc3_man_pages/aliash.html
| 归档时间: |
|
| 查看次数: |
1736 次 |
| 最近记录: |