如何将参数传递给shell脚本

时间:2015-10-06 21:38:03

标签: linux bash unix input

我是bash的新手,我需要在一个程序中运行几组数据,我制作了一个允许我自动执行的bash脚本...问题是当程序启动时需要它一些输入,我不知道怎么把它放在bash里面?  我执行程序:

$./bin/mg5_aMC

程序打开,我需要传递一些输入来运行(mg5>是程序的环境):

mg5>launch file.lhe

程序运行,并要求提供一些东西:

mg5> 1

然后再问一些东西,我需要按回车..

mg5> (enter)
PD:我编辑了这个问题,因为我觉得自己没有表达得很好......

3 个答案:

答案 0 :(得分:0)

如果程序可以将其输入作为从命令行传递的参数,那么您可以将参数写入文件中,例如调用它params,然后执行

./bin/mg5_aMC $(<params)

答案 1 :(得分:0)

从我看到的,你宁愿想要捕获用户的输入,而不是简单地将args传递给执行的脚本。 read命令允许您捕获用户的输入。它回答了你的问题吗?

答案 2 :(得分:0)

根据我对你的问题的理解,你要么想要1)在调用你的Bash脚本时传递参数,要么2)你的脚本中有某种交互式shell。

对于#1,将参数传递给Bash脚本,这些链接可能会有所帮助:

基本上,您需要对脚本使用以下调用:

./bin/mg5_aMC launch xxx.lhe 1

在您的脚本中,您使用带编号的变量引用每个参数:

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

关于#2,请参考以下链接/示例:

网上有很多资源,本网站上会提供更多示例和解释。