【发布时间】:2020-06-09 03:58:18
【问题描述】:
我在windows下的(git-)bash中运行如下函数:
function config_get_container_values() {
local project_name=$1
local container_name=$2
#local container_name="gitea"
echo "###"
buildcmd="jq -r \".containers[]."
echo "$buildcmd"
buildcmd="${buildcmd}${container_name}"
echo "$buildcmd"
buildcmd="${buildcmd}foobar"
echo "$buildcmd"
echo "###"
}
输出如下。但是,在使用变量扩展字符串后,他开始覆盖 $buildcmd。我也在一行中尝试了所有内容以及附加命令(=+)。每次都是一样的结果。
###
jq -r ".containers[].
jq -r ".containers[].gitea
foobar".containers[].gitea
###
真正奇怪的是:当我启用local container_name="gitea" 行时,一切都按预期工作。输出为:
###
jq -r ".containers[].
jq -r ".containers[].gitea
jq -r ".containers[].giteafoobar
###
当我将这些全部放入新闻文件时,它也可以按预期工作。所以我认为在调用这个函数之前的数千行中出现了问题。任何想法,可能是什么原因导致这种行为?
问候
戴夫
【问题讨论】:
标签: string bash concatenation concat git-bash