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

如何在Bash中将含特殊符号的内容原样赋值给变量,类似PowerShell的@''@

Bash 原样赋值含特殊符号内容到变量的方案

Bash 中完全可以实现类似 PowerShell @''@ 的原样字符串赋值功能,核心是使用包裹单引号分隔符的 Here 文档实现,所有换行、特殊符号、引号都会完整保留,不会被解析。

具体实现步骤

  1. 核心规则:使用 <<'自定义分隔符' 标记内容起始,内容写完后单独一行写相同的分隔符标记结束,起始分隔符必须加单引号,才能确保所有内容不被 Bash 解析。
  2. 赋值示例(匹配你提供的内容):
# 将内容完整赋值给变量 target_str
target_str=$(cat <<'EOF'
<p>I have a value</p>
<blockquote>
<p>view/3dc84ea0-e9fc-11eb-841e-518effe6e821?_g=(filters:!(),refreshInterval:(pause:!t,value:0),time:(from:now-15m,to:now))&_a=(description:'',filters:!(('$state':(store:appState),meta:(alias:!n,disabled:!f,index:</p>
</blockquote>
EOF
)

注意事项

  • 结束标记(示例中的EOF)必须单独占一行,前后不能有任何空格、制表符等字符,否则会识别失败
  • 如果你需要自动忽略内容行首的制表符,可以将起始标记改为 <<-'EOF',不会影响其他内容
  • 赋值完成后执行 echo "$target_str" 即可验证内容完整无丢失

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 13:39:02