通过查看如何将当前用户的别名传递给sudo命令,我发现了以下论ArchWiki
传递别名 如果您使用大量别名,您可能已经注意到,当使用sudo时,它们不会结转到根帐户。然而,有一个简单的方法可以让他们发挥作用。只需将以下内容添加到
~/.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?显然,将sudo混叠到sudo + space,某种程度上允许传递别名。这适用于zsh、bash和sh,因此它不是特定于shell的行为。
这个化名是怎么用的?
发布于 2016-05-13 12:24:48
查看手册页以获得别名:
值中的尾随空格将导致在扩展别名时检查下一个单词是否替换别名。
来源:页/aliash.html
发布于 2021-09-21 10:11:06
我们在团队的最佳实践中得到了什么:
alias sodu='sudo'
alias sodo='sudo'
alias sdoo='sudo'
alias sudu='sudo'
alias sduo='sudo'只需添加一个您认为对自己来说是必要的别名。
https://stackoverflow.com/questions/37209913
复制相似问题