使用“sudo”以 root 身份运行“command”命令

使用“sudo”以 root 身份运行“command”命令

如何执行 Bash 命令command以便sudo以 root 身份运行它?

使用sudo command失败:

$ sudo command ls
sudo: command: command not found

答案1

sudo命令可以运行外部命令作为另一个用户。它不能用于直接执行 shell 中内置的命令。这也适用于doas使用它代替 的系统上的命令sudo

在某些系统上,该command命令可作为外部命令使用(/usr/bin/command例如,在 macOS 上)。在这些系统上,使用 不会有任何问题sudo command ...,除了正在执行的不是 shell 的内部command命令这一事实之外,这可能很重要,具体取决于您尝试执行的操作。

在其他系统上,在command哪里仅有的作为 shell 中内置的命令可用,您可能必须sudo在特定 shell 上使用,并以这种方式间接调用该 shell 的内置命令command

sudo bash -c 'command ...'

同样,这是否符合您的要求取决于您想要实现的目标。

相关内容