Ubuntu Linuxを実行しています。というプログラムがあるとしmyprogramます。このプログラムは、ユーザーに入力を求めます。具体的には、ユーザーはプロンプトが表示されたら整数を入力してを押す必要がありEnterます。bashスクリプトを使用してこのプロセスを自動化したいと思います。特に、myprogram例えばを100回実行したいとします(iから1に移動するカウンターを使用100)。を実行するたびmyprogramにi、プロンプトが表示されたらの現在の値を入力します。
(ちなみに、myprogramオプション/スイッチを取ります。これら-optionsはすべて定数なので、bashスクリプト内で指定されます。)
このbashスクリプトの不完全なスケルトンは次のようになります。
#!/bin/bash
for i in {1..100}
do
myprogram -options
done
次に、上記のコードを変更iして、プログラムによってプロンプトが表示されたときにの現在の値が入力されるようにします。これを行う最良の方法は何ですか?
私が使用しているソフトウェアのWebサイトでは<<EOF、最後に使用することをお勧めしていmyprogram -optionsます。これは、入力が使用するために「ファイルの終わり」を調べるようにbashに指示すると思います。しかし、入力をファイルの最後に配置したくない場合はどうなりますか?<<またはの直後に配置したい場合はどうなり<ますか?
その理由は、物事がより複雑になるからです。たとえばj、いくつかの非線形、非順次的な方法で変化する整数カウンターを紹介します。私は、その後の現在値送りたいと思うjのmyprogram各反復上に、しかし、の値がjへの呼び出しの間で変更される可能性がありmyprogram -options、ファイルの末尾EOF。
何か提案はありますか?