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

如何在Bash中实现单引号内变量展开并保留单引号输出

解决Bash变量展开后保留单引号的问题

在Bash脚本里要实现变量展开后被单引号包裹,直接用引号嵌套或者转义单引号就能搞定,不需要使用HTML实体(比如"),下面是两种可行的写法:

方法1:双引号包裹+内部单引号

用双引号把整个表达式包起来,内部嵌入单引号和变量,Bash会自动展开双引号内的变量:

Where schemaname = "'$USERNAME'"

当$USERNAME的值为XYZ_OWNER时,展开后结果为:

Where schemaname = 'XYZ_OWNER'

方法2:转义单引号

如果不想用双引号包裹,也可以对单引号进行转义,直接配合变量使用:

Where schemaname = \'$USERNAME\'

同样能得到符合预期的输出结果。

错误原因说明

你之前使用的"'""$USERNAME""'"写法里,"是HTML中的双引号转义字符,在Bash脚本里这属于无效的普通字符串,会被直接输出,所以才会出现"'"XYZ_OWNER""'"这类错误结果。直接使用原生的单/双引号即可,无需借助HTML实体。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 19:40:00