2015-10-06 142 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,請參考以下鏈接/例子:

有在線和本網站上的相當多的資源將爲您提供更多示例和解釋。