相关疑难解决方法(0)

如何将带有空格的参数从bash脚本传递给bash脚本?

我有一个脚本操纵数据,创建参数并将它们发送到第二个脚本.其中一个参数包含一个空格.

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.

bash for-loop list argument-passing git-bash

2
推荐指数
1
解决办法
166
查看次数

标签 统计

argument-passing ×1

bash ×1

for-loop ×1

git-bash ×1

list ×1