我有一个var,它是一个包含几个单词的字符串:
my_var="foo bar baz"
我想打电话给另一个脚本并通过my_var
。我希望第二个脚本看到三个参数foo
bar
baz
,而不是单个参数"foo bar baz"
这是如何完成的?这是目前的:
text_output=$( /bin/bash /the/second/script.sh ${my_var} )
这个第二个脚本期望任何数量的参数。目前,它说它正在得到一个论点。语法${}
可以是问题吗?
不要使用普通参数来存储多个参数;这就是阵列的目的。
declare -a my_arr # optional
my_arr=( foo bar baz )
text_output=$( /bin/bash /the/second/script.sh "${my_arr[@]}" )
您可以无引用的传递,以便将其扩展。示例:
my_var="foo bar baz"
fn() { echo $#; }
fn "$my_var"
1
fn $my_var
3