sudo -u 失败,并显示 env: -u: 没有这样的文件或目录

lam*_*tor 1 linux ubuntu sudo

在 Ubuntu 12.04 上,当我这样做时

sudo -u <user> ls
Run Code Online (Sandbox Code Playgroud)

我明白了

env: -u: No such file or directory
Run Code Online (Sandbox Code Playgroud)

对于 的任何命令和任何用户<user>,包括我自己和 root,都会发生这种情况。

有什么想法如何解决这个问题吗?

lam*_*tor 5

事实证明sudo实际上是在运行一个别名:

$ alias sudo
alias sudo='sudo env PATH=$PATH'
Run Code Online (Sandbox Code Playgroud)

直接运行/usr/bin/sudo跳过了别名,解决了问题。

或者,您可以.bashrc在主目录中打开该文件并注释掉以下行:

alias sudo='sudo env PATH=$PATH'
Run Code Online (Sandbox Code Playgroud)

再次运行source .bashrc,然后(为了更好的措施)运行unalias sudo