当前位置: 首页 > news >正文

Shell - ​​Here Document(HereDoc)

Shell - Here Document(HereDoc)

Here Document(常简写为 HereDoc)是 Shell 脚本中一种特殊的输入重定向方式,用于将多行文本直接嵌入脚本中,并将其作为命令的标准输入。它的核心用途是避免频繁使用 echo 或手动输入多行内容,尤其适合生成文件、交互式输入或传递长文本数据。

写入文件

解析变量和$()

cat >zzz.txt <<EOF
aaa
${PWD}
$(date)
bbb
EOF

禁用变量替换(原样写入)

cat >zzz.txt <<'EOF'
aaa
${PWD}
$(date)
bbb
EOF

总结

cat > file << EOF  	覆盖写入文件
cat >> file << EOF  追加写入文件
<< 'EOF'   原样写入,不解析变量
<< EOF     解析变量和命令

打印多行文本

cat <<EOF
aaa
${PWD}
$(date)
bbb
EOF

python代码执行

简单示例

python3 -c "$(cat <<'EOF'
### python code
print("hello")
EOF
)"

带命令行参数

python3 -c "$(cat <<'EOF'
import sys
print(sys.argv)
EOF
)" aaa bbb
# 输出 ['-c', 'aaa', 'bbb']

相关文章:

  • AI Agent工具全景解析:从Coze到RAGflow,探索智能体自动化未来!
  • 制作一款打飞机游戏61:轨迹调度
  • git提交更改
  • 使用Milvus运行一个Milvus单机版实例
  • TypeScript知识点梳理
  • vue+ts+TinyEditor 是基于 Quill 2.0 开发的富文本编辑器,提供丰富的扩展功能,适用于现代 Web 开发的完整安装使用教程
  • ModbusTcp协议
  • 第五章 面向对象(进阶)
  • qt之开发大恒usb3.0相机三
  • 第五十七节:综合项目实践-智能监控系统原型
  • AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月28日第91弹
  • linux版本vmware修改ubuntu虚拟机为桥接模式
  • 篇章五 数据结构——链表(一)
  • maven离线将jar包导入到本地仓库中
  • linux安装ffmpeg7.0.2全过程
  • Maven 项目中集成数据库文档生成工具
  • [cg][ds] 八面体映射编码Normal
  • 61、【OS】【Nuttx】编码规范解读(九)
  • SpringBoot 自动装配原理深度解析:从源码到实践
  • Bootstrap法进行随机模拟
  • 做韩国网站/seo关键词分析表
  • 网站建设相关/优化大师官网登录入口
  • 网站建设顾问站建/优化公司怎么优化网站的
  • 做网站可以找设计公司吗/百度招聘官网首页
  • wordpress 内容 大小限制/seoyoon
  • 深圳建西站/温州网站建设