首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >别名sudo="sudo“是如何工作的?

别名sudo="sudo“是如何工作的?
EN

Stack Overflow用户
提问于 2016-05-13 12:20:31
回答 2查看 4.8K关注 0票数 20

通过查看如何将当前用户的别名传递给sudo命令,我发现了以下论ArchWiki

传递别名 如果您使用大量别名,您可能已经注意到,当使用sudo时,它们不会结转到根帐户。然而,有一个简单的方法可以让他们发挥作用。只需将以下内容添加到~/.bashrc/etc/bash.bashrc中: alias sudo='sudo '

我不明白为什么会这样。如果shell不关心两个命令之间有多少空格,这又有什么影响呢?

当手动添加空格时,我看不出有什么不同:

代码语言:javascript
复制
$ 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,某种程度上允许传递别名。这适用于zshbashsh,因此它不是特定于shell的行为。

这个化名是怎么用的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-13 12:24:48

查看手册页以获得别名:

值中的尾随空格将导致在扩展别名时检查下一个单词是否替换别名。

来源:页/aliash.html

票数 27
EN

Stack Overflow用户

发布于 2021-09-21 10:11:06

我们在团队的最佳实践中得到了什么:

代码语言:javascript
复制
alias sodu='sudo'
alias sodo='sudo'
alias sdoo='sudo'
alias sudu='sudo'
alias sduo='sudo'

只需添加一个您认为对自己来说是必要的别名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37209913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档