Shell 在程序内自动执行命令

Shell 在程序内自动执行命令,shell,Shell,我有一个dnapars程序 我从命令行执行程序,如下所示: /德纳帕 然后,程序会以用户菜单的形式提示我一些消息,我必须从中选择一系列选项(按R U Y R的顺序),然后将输出文件(输出文件)复制到另一个结果文件中。 我编写了下面的脚本,但是执行挂起在应该执行R选项的地方 for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 do cp ../../../EditDistanceRandomParsimonator/RAxML_p

我有一个dnapars程序 我从命令行执行程序,如下所示: /德纳帕 然后,程序会以用户菜单的形式提示我一些消息,我必须从中选择一系列选项(按R U Y R的顺序),然后将输出文件(输出文件)复制到另一个结果文件中。 我编写了下面的脚本,但是执行挂起在应该执行R选项的地方

for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
do
cp ../../../EditDistanceRandomParsimonator/RAxML_parsimonyTree.test4D20RI$i.0 intree
./dnapars
R      <----- This doesn't execute
U
Y
R
cp outfile result$i
done
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20中的i
做
cp../../../EditDistanceRandomParsimonator/RAxML_parsimonyTree.test4D20RI$i.0 intree
/德纳帕

R您可以使用shell,例如:

./dnapars <<EndOfOptions
R
U
Y
R
EndOfOptions

/dnapars您不能为
dnapars
提供参数来控制它吗?如果没有,你有来源吗?如果是,请添加参数解析。如果没有,你能回到作者那里请求吗?现在你知道为什么人们不总是喜欢这样的互动节目了。如果您需要交互式输入,一个选项是让交互式程序提示所需的信息,然后将该信息传递给非交互式程序,这样您就不必总是与主计算代码交互。这适用于许多(但不是所有)程序。