バイナリファイルの入力プロセスの自動化

バイナリファイルの入力プロセスの自動化

実行時にユーザー入力を要求するUnixバイナリがあります。このバイナリへの入力は手動で提供されます。入力内容を既に知っているので、プロセスを自動化したいと思います。バイナリファイルを変更できません。どうすればいいですか?antシェルスクリプトまたはターゲットを介してこれを達成できますか?

ベストアンサー1

プログラムが(ターミナルから直接読み取るのではなく)標準入力から読み取る場合は、次のようにすることができます。

echo -e "answer1\nanswer2\nanswer3\n" | your_program

ここのドキュメントおそらくもっと読みやすくなります。

your_program <<'EOF'
answer1
answer2
answer3
EOF
do_more_stuff

(代わりに任意の文字列を選択できますEOF。ただし、<<'somestring'同じ文字列を使用して入力の終わりを表示する必要があります。文字列は入力行で表示しないでください。入力マーカーの末尾はインデントしないでください。)

より複雑な対話が必要な場合は、expectスクリプトをお勧めします。

おすすめ記事