同じスクリプトにコマンドとのやり取りを含める方法は?

同じスクリプトにコマンドとのやり取りを含める方法は?

特定のプログラムを実行するためのスクリプトを作成しました。スクリプトには多くの手順が含まれており、その中には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

おすすめ記事