You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本字符串拼接输出带双引号问题求助

问题解决:Bash脚本拼接字符串时多余引号的处理

问题根源

az containerapp show的--query参数默认返回JSON格式结果,因此你获取到的FQDN变量本身包含双引号(例如"appptest.test.azurecontainerapps.io"),直接拼接会把引号带入最终URL,导致格式错误。

解决方案

以下几种方法可快速去除多余引号,得到正确的拼接结果:

方法1:让az返回纯文本结果

使用--output tsv参数,让命令直接输出无格式的原始字符串,避免JSON引号:

FQDN=$(az containerapp show --name "app-test" --resource-group testapp --query "properties.configuration.ingress.fqdn" --output tsv)
FULL_URL="https://${FQDN}"
echo $FULL_URL

方法2:用字符串工具删除引号

如果无法修改az命令的输出格式,可通过sed或tr过滤掉双引号:

# 使用sed删除所有双引号
FQDN=$(az containerapp show --name "app-test" --resource-group testapp --query "properties.configuration.ingress.fqdn" | sed 's/"//g')

# 或使用tr删除双引号
FQDN=$(az containerapp show --name "app-test" --resource-group testapp --query "properties.configuration.ingress.fqdn" | tr -d '"')

FULL_URL="https://${FQDN}"
echo $FULL_URL

方法3:Bash参数展开去除引号

利用Bash内置的参数替换功能,直接清除变量中的双引号:

FQDN=$(az containerapp show --name "app-test" --resource-group testapp --query "properties.configuration.ingress.fqdn")
# 移除变量内所有双引号
FQDN=${FQDN//\"/}
# 也可精准移除首尾引号:FQDN=${FQDN#\"}; FQDN=${FQDN%\"}

FULL_URL="https://${FQDN}"
echo $FULL_URL

验证结果

使用上述任意方法后,输出将符合预期:

https://appptest.test.azurecontainerapps.io

内容的提问来源于stack exchange,提问作者Coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:41:09