我写了一个脚本来运行一个特定的程序,我的脚本包含很多步骤,其中一些步骤需要我通过写 0 然后回车进行简单的交互,我怎样才能做到这一点,以便我在脚本运行期间不需要交互?
例如:
这是我的脚本的一部分,第三个命令需要我的交互:
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”,然后单击回车完成此命令,然后我的脚本将正常运行下一个命令。
我怎样才能使用相同的书面脚本来做到这一点?我读过一些关于期望函数的帖子,但我不知道如何将它应用到我的案例中。
答案1
有示例脚本样本.sh:
#!/bin/bash
echo Enter parameter
read par
echo Read par $par
可以准备一个参数文件parameters.txt
0
然后运行:./sample.sh < parameters.txt
或者你可以这样使用:echo 0 | ./sample.sh