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

Shell脚本中如何打印转义命令字符串的无转义符原始精确值

实现方法

你使用的是Bash的ANSI-C引号($'string')语法定义变量,这类语法在赋值阶段就已经自动处理了字符串内的转义字符,变量内部存储的就是无多余转义的目标命令,直接用printf输出即可:

# 直接输出变量原始内容
printf '%s\n' "$cmd"

输出结果完全匹配你的需求:

dbconn -tabs testdb dev "INSERT INTO dataset('id', 'description', 'source_table', 'class_id') VALUES('1', 'data', 'testd', 'income')"

注意事项

  • 不要直接使用echo "$cmd"输出,部分系统的echo实现默认会二次处理转义字符,可能导致输出异常
  • 输出变量时必须加双引号包裹"$cmd",避免空格、特殊字符被shell分词破坏原始命令结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 03:15:09