0

私のプログラムは外部プログラムを実行 (exec..) します。実行中、外部プログラムはユーザーに [はい/いいえ] で次のステップに進むように求めます。

コマンド ラインで [yes] と入力する代わりに、自分のプログラムから外部プログラムに [Yes] を渡すにはどうすればよいですか。

4

2 に答える 2

1

コマンドラインで「yes」応答を提供する古典的な方法はオプションです(通常、「no」を示す-y並列オプションを使用します—を参照してください)。-nfsck(1)

プログラムの実行は「はい、私はそれを実行することを意味します」操作であるべきだと主張する余地もあります。ただし、「はい、私は本当にそれを行うことを意味します」(DBMSのインスタンスの1回限りの初期化など)を指定することが理にかなっている場合があります。

于 2012-09-04T02:43:12.480 に答える
1

外部プログラムがそれぞれのフラグをサポートしていない限り(@Jonathan Lefflerの回答を参照)、そのプログラムのソースを制御して追加できる場合は、「はい」入力をシミュレートする必要があります。

オプション:

  • yesヘルパー アプリケーションの出力を stdin: にパイプして、外部プログラムを起動してみてくださいyes | external_programyesあなたが持っていなければ、単純なツールであり、「y」を標準出力に継続的に書き込むだけです。

  • 外部プログラムの stdin に手動で「yes」を書き込みます。

どちらのオプションでも、何らかの方法でパイプを使用する必要があります。その方法の詳細については、これを参照してください。

于 2012-09-04T05:02:33.640 に答える