gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 09:40:03 33 4
gpt4 key购买 nike

我有一个脚本可以操作数据、创建参数并将它们发送到第二个脚本。其中一个参数包含一个空格。

脚本1.sh:

args=()
args+=("A")
args+=("1 2")
args+=("B")
. script2.sh ${args[@]}

脚本2.sh:

for f in "$@"
do
echo f=$f
done

我想将 "1 2" 作为单个参数,但要分别接收它们:

f=A
f=1
f=2
f=B

我还尝试将 script2 中的输入转换为列表 in=($@) 并使用 for f in ${in[@]} 迭代它但是得到了同样的结果。

因此,问题可能出在以下其中一项:构建参数列表;通过构建列表;解析输入;或迭代输入。

如何将带空格的参数从 bash 脚本传递到 bash 脚本?谢谢。

* 我在 Windows 上使用 git-bash。

最佳答案

你只需要在传递数组作为参数时添加引号:

args=()
args+=("A")
args+=("1 2")
args+=("B")
. script2.sh "${args[@]}"

关于bash - 如何将带空格的参数从 bash 脚本传递到 bash 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726705/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com