我的程序有三个选项./program a b c INPUT > OUTPUT
(a
,b
,c
是选项)。
我有一个选项组合列表:
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
我的问题是:
如何在使用字符串变量作为选项的同时执行程序/命令?
编辑
如果只有一个字符作为变量,我不会有任何问题。我的意思是:
程序只有一个选择:
./program a INPUT > OUTPUT
cat VARIABLES
1
15
78
while read VARIABLE; do
./program $VARIABLE INPUT > OUTPUT
done < VARIABLES
但是,当有多个选项(字符串)时,例如,./program a b INPUT > OUTPUT
我遇到错误。
在参数变量周围使用引号:
while read COMBO; do
./program "$COMBO" INPUT >> OUTPUT
done < list_of_combinations
不带引号的$COMBO
将被视为3个不同的输入,而不是像引号一样的单个字符串。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句