bash 别名不会与 sudo 一起使用

Mir*_*ana 1 linux bash gentoo .bash-profile

我很好奇当我 sudo 一个程序时是否有办法让我的 .bash_profile 工作。

例如,我将它设置为alias emerge='emerge -av'以便我可以安装软件,并且它总是会在下载和安装之前询问我是否要继续。但是我刚刚注意到当我sudo emerge foo,它默认只是普通命令emerge foo而不是emerge -av foo.

唯一想到解决这个问题的就是将别名也放在 root 的 .bash_profile 中,但我不想诉诸于那个,因为当我想向其中添加内容时,我总是必须在两个地方进行更改我自己的个人资料。

还有其他我不熟悉的方法吗?

use*_*686 5

在 bash 中,

alias sudo='sudo '
Run Code Online (Sandbox Code Playgroud)

将导致 bash 扩展sudo.

  • 这只是 bash 如何扩展别名的一部分。来自 bash 联机帮助页:“如果别名值的最后一个字符是空白,则还会检查别名后面的下一个命令字以进行别名扩展。” (4认同)