回答:
コマンドがあまりうるさくない場合は、次のようなもので動作するはずです。
command > /dev/null << EOF
<answer 1>
<answer 2>
<answer 3>
EOF
これには、事前に正確な答えを知っている必要があります。
Expectはそれを行うことができます。Expect Webサイトから:
Expectは、telnet、ftp、passwd、fsck、rlogin、tipなどの対話型アプリケーションを自動化するためのツールです。Expectは、このような作業を簡単にします。Expectは、これらの同じアプリケーションのテストにも役立ちます[...] "
autoexpectのような多くのヘルプが付属しています。
再びExpect Webサイトから、
autoexpectは、ユーザーが別のプログラムと対話するのを監視し、対話を再現するExpectスクリプトを作成します。定型スクリプトの場合、autoexpectは、手作業でスクリプトを記述するよりも大幅に時間を節約します。
スクリプトが1つのプロンプトに答えるか、同じ答えを出すことができる複数のプロンプトを期待している場合、次のようになりますyes
。
NAME
yes - output a string repeatedly until killed
SYNOPSIS
yes [STRING]...
yes OPTION
DESCRIPTION
Repeatedly output a line with all specified STRING(s), or `y'.
次のように使用します。
yes Me | give_a_hug.sh
yes n
、たとえば、:yes n | mv -i * somewhere/