我的程序需要三個選項./program a b c INPUT > OUTPUT
(a
,b
,c
是選項)。
我有選擇的組合的清單:Bash:作爲程序選項的變量字符串
cat list_of_combinations
1 2 3
4 8 3
1 5 7
9 5 6
我想用這四個不同的組合來執行program
。例如:
./program 1 2 3 INPUT >> OUTPUT
./program 4 8 3 INPUT >> OUTPUT
./program 1 5 7 INPUT >> OUTPUT
我已經嘗試過這樣的:
while read COMBO; do
echo $COMBO |
./program - INPUT >> OUTPUT
done < list_of_combinations
而且這樣的:
while read COMBO; do
./program $COMBO INPUT >> OUTPUT
done < list_of_combinations
我的問題是:
如何執行程序/命令同時使用一種條形碼g的變量作爲選項?
編輯
我不會有任何問題,如果只有一個字符作爲變量。我的意思是說:
程序只需要一個選項:
./program a INPUT > OUTPUT
cat VARIABLES
1
15
78
while read VARIABLE; do
./program $VARIABLE INPUT > OUTPUT
done < VARIABLES
但是,當有幾個選項(字符串),例如./program a b INPUT > OUTPUT
我得到的錯誤。
你是如何得到'list_of_combinations'? – anubhava
@anubhava我編輯了我的問題。 – PoGibas
只要參數本身不能包含空格,使用'./program $ COMBO INPUT >> OUTPUT'的第二個循環就應該工作。 – chepner