Bashで「sudo」を呼び出すときに「yes」または「y」をプログラムにパイプする方法

Bashで「sudo」を呼び出すときに「yes」または「y」をプログラムにパイプする方法

Y呼び出されたときまたはyesプログラムにどのようにパイプしますかsudo

このように入力してください

yes | command
yes | yum update

次の方法でプログラムからどのようにy転送しますか?yessudo

yes| sudo command

通常、パスワードは着信y項目から要求する必要がyesあります。どうすればいいですか?commandsudosudo

答え1

sudo-Sこのオプションを使用しない限り、標準入力ではなく端末から直接パスワードを読みます。だから

yes | sudo command

を読み取らずに(必要な場合)、パスワードの入力を求められ、yes標準出力commandからの標準入力を使用してrootとして実行する必要がありますyes

それでも機能しない場合は、sudo次の方法でパイプライン全体を実行できます。

sudo sh -c "yes | command"

関連情報