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
。
何か提案はありますか?