特定のプログラムを実行するためのスクリプトを作成しました。スクリプトには多くの手順が含まれており、その中には0を入力してEnterキーを押して対話する必要があります。相互作用が必要ないようにするにはどうすればよいですか?
たとえば、
これは、3番目のコマンドで対話が必要なスクリプトの一部です。
gmx .....
gmx mdrun
gmx trjconv -s md_0_1.tpr -f md_0_1.xtc -o md_noPBC.xtc -pbc mol
端末で最後のコマンドを実行し続けるには、次のように入力する必要があります。
Select group for output
Group 0 ( System) has 189100 elements
Group 1 ( Other) has 189100 elements
Group 2 ( GRM) has 11200 elements
Group 3 ( G8LE) has 177900 elements
Select a group:
このコマンドを完了するには、「0」を書き、Enterキーを押す必要があります。これにより、スクリプトは次のコマンドを正常に実行します。
同じ作成されたスクリプトを使用してこれをどのように実行できますか?私は期待関数に関するいくつかの記事を読んでいますが、私の場合に適用する方法がわかりません。
答え1
サンプルスクリプトがありますサンプル.sh:
#!/bin/bash
echo Enter parameter
read par
echo Read par $par
パラメータファイルを準備できますparameters.txt
。 0
次に、次を実行します。./sample.sh < parameters.txt
または、次のように使用できます。echo 0 | ./sample.sh