如何在 bash 中使用“sudo”调用时将“yes”或“y”通过管道传输到程序中?

如何在 bash 中使用“sudo”调用时将“yes”或“y”通过管道传输到程序中?

如何在调用时通过管道将Yyes传送到程序sudo

我们可以这样输入

yes | command
yes | yum update

如何通过如下方式将yfrom传输yes到程序中?sudo

yes| sudo command

正常情况下,从y传入yes应该command进入应sudo要求sudo密码。我怎样才能做到这一点?

答案1

sudo直接从终端读取密码,而不是从标准输入读取密码,除非-S使用该选项。因此

yes | sudo command

应该提示输入密码(如果需要),而不读取yes,然后以 root 身份运行command,其标准输入来自 的yes标准输出。

如果这不起作用,您可以sudo使用类似的东西运行整个管道

sudo sh -c "yes | command"

相关内容