Sudo

如何在 bash 中使用“sudo”呼叫時將“yes”或“y”通過管道傳輸到程序中?

  • December 15, 2017

呼叫時如何通過管道傳輸Yyes到程序sudo

我們可以這樣輸入

yes | command
yes | yum update

如何通過如下方式將yfrom管道yes傳輸到程序中?sudo

yes| sudo command

yfrom被yes傳入command應該進入sudo並且應該sudo正常要求密碼。我怎樣才能做到這一點?

sudo-S除非使用該選項,否則直接從終端讀取密碼,而不是從其標準輸入讀取密碼。因此

yes | sudo command

應該提示輸入密碼(如果需要),而不從 讀取yes,然後command以 root 身份執行,其標準輸入來自yes的標準輸出。

如果這不起作用,您可以sudo使用類似的東西執行整個管道

sudo sh -c "yes | command"

引用自:https://unix.stackexchange.com/questions/411062