【发布时间】:2022-06-10 18:57:43
【问题描述】:
我正在运行一个程序,该程序接受具有相同标志的可变数量的参数。例如
myprogram -args 'var1' 'var2' 'var3' 'var4'
myprogram -args 'var5' 'var6'
我必须使用 test.txt 文件中提供的不同参数集多次启动该程序。
arg1 arg2 arg3
arg5 arg6
arg7
arg8 arg9 arg9 arg10
程序必须在自己的脚本中才能请求 HPCC 中的资源。
while read p; do
launchmyprogram.sh "$p"
done < test.txt
我知道我可以在launchmyprogram.sh 中使用var1=$1 语法来收集和分配变量,但这不能处理可变数量的参数,我必须为每一行创建一个脚本。有没有办法在 bash 中创建一个接受可变数量参数的脚本?
【问题讨论】:
-
目前尚不完全清楚问题是什么,但也许这只是一个您想要避免引号并执行
launchmyprogram.sh $p以便test.txt中的行的每个单词都传递为一个单独的论点。 -
不要在脚本名称上使用
.sh后缀:talisman.org/~erlkonig/documents/… -
一个数组将保留对单个元素的引用...请参阅下面 Andrej 的答案。
-
参数可以包含空格吗?如果是这样,您是否在
text.txt中引用它?