Bashスクリプトを使用してあるスクリプトから別のスクリプトに入力を送信する方法

Bashスクリプトを使用してあるスクリプトから別のスクリプトに入力を送信する方法

シェルスクリプトを介してあるスクリプトから別のスクリプトに入力を送信したい

このスクリプトを停止すると、「続行しますか?」というメッセージが表示されます。

$MAIN_SCRIPT_PATH/first.sh stop

このスクリプトを停止するために別のスクリプトを使用しています。このスクリプトにyesを送信する必要がありますfirst.sh。どうすればいいですか?

first.sh が停止すると、ユーザー入力を要求します。続行しますか?送らなければならない。

答え1

スクリプトの標準入力に書き込むことで動作することを確認できます。例えば、

echo yes | $MAIN_SCRIPT_PATH/first.sh stop

そうでない場合、一部のプログラムでは、expectユーザー入力をシミュレートする前に特定のプロンプトを待つことがあります。

また、他のオプションを指定せずに停止確認を要求する場合、これは誤って作成されたスクリプトです。first.sh --helpユーザー入力のスキップに関する追加情報が表示されていることを確認してください。スクリプトには通常、ユーザー入力をサイレントする-y//-qオプションがあります。-s

答え2

Linuxでは、coreutilsパッケージもこのyesコマンドを提供します。したがって、次を実行します。

yes | $MAIN_SCRIPT_PATH/first.sh stop

関連情報