2015-10-06 180 views
0

我在bash中有点新,事情是我需要在程序中运行几组数据,我做了一个bash脚本,允许我自动执行它...问题是程序启动时需要一些输入,我不知道如何在bash中输入它? 我执行程序:如何传递参数到shell脚本

$./bin/mg5_aMC 

程序打开,我需要通过一些投入运行(MG5>是程序的环境):

mg5>launch file.lhe 

程序运行,并要求东西:

mg5> 1 

,然后再次,要东西,我需要按回车键..

mg5> (enter) 

PD:我编辑的问题,因为我想没有很好地表达自己..

回答

0

如果程序可以得到它的输入作为命令行传递的参数,那么你可以写在一个参数文件,称之为例如params,然后做

./bin/mg5_aMC $(<params) 
+0

这也会产生其他问题:不可能用空格或水珠字符给出参数... –

0

从我所看到的,您更希望赶上用户的输入,不是简单地传递参数传递给执行脚本。使用read命令可以捕捉用户的输入。它是否回答你的问题?

0

从我的理解你的问题,你要么1)调用你的Bash脚本时传递参数,或者2)脚本内的某种交互式shell。

#1,参数传递给一个bash脚本,这些链接可能会有所帮助:

基本上,你需要使用下面的调用您的脚本:

./bin/mg5_aMC launch xxx.lhe 1 

而在你的scrip PT,你是指每个参数使用一个编号的变量:

action=$1 
file=$2 
n=$3 

至于#2,请参考以下链接/例子:

有在线和本网站上的相当多的资源将为您提供更多示例和解释。

相关问题