我有一个脚本操纵数据,创建参数并将它们发送到第二个脚本.其中一个参数包含一个空格.
script1.sh:
args=()
args+=("A")
args+=("1 2")
args+=("B")
. script2.sh ${args[@]}
Run Code Online (Sandbox Code Playgroud)
script2.sh:
for f in "$@"
do
echo f=$f
done
Run Code Online (Sandbox Code Playgroud)
我想得到"1 2"一个单独的论点,但是分别收到它们:
f=A
f=1
f=2
f=B
Run Code Online (Sandbox Code Playgroud)
我也尝试将script2中的输入转换为list in=($@)并使用它进行迭代,for f in ${in[@]}但结果相同.
因此,问题可能出在以下情况之一:构建参数列表; 通过建成的清单; 解析输入; 或迭代输入.
如何将带有空格的参数从bash脚本传递给bash脚本?谢谢.
*我在Windows上使用git-bash.