echo "yes\yes\oops" | program
は、長時間実行されるプログラムではうまく機能しません。長時間実行するbashスクリプトと対話します。特定の出力が表示されたときの自動入力
program
の出力をファイルにリダイレクトしてから、特定の出力が表示されるまでgrep
のループを使用すると思います。しかし、もっと良いアイデアはありますか?
echo "yes\yes\oops" | program
は、長時間実行されるプログラムではうまく機能しません。長時間実行するbashスクリプトと対話します。特定の出力が表示されたときの自動入力
program
の出力をファイルにリダイレクトしてから、特定の出力が表示されるまでgrep
のループを使用すると思います。しかし、もっと良いアイデアはありますか?
Python、Perl、Ruby、またはスクリプトをプログラムとやり取りする別の言語で記述します。 Pythonではsubprocess
を使用します。 Perlではpopen()
を使います。プログラムのstdoutを1行ずつ読み、既知のプロンプトと照合して、プログラムの標準入力に書き込んで希望の応答に応答します。
あなたはです。はbashで同じことをしますが、個人的には好きではありません。
私はあなたが求めていたものに当て推量のビットをしなければなりませんでした。私が間違っていたら、あなたの質問を明確にしてください。 – marcog
あなたはそれが正しいです。 – Cheng