bash - bash - 嵌套的 EOF
问题描述
我正在尝试使用
cat - << EOF > file.sh
但在这里面,我想写另一个EOF。很难解释,所以这里举个例子:
cat - << EOF > file1.sh
echo first
cat - << EOF > file2.sh
echo second
EOF
echo again first
EOF
但当然,它在第 5 行中断了。它不会使用内容行 2-6 创建 file1.sh,而是使用内容行 2-4。
解决方案
只需在外层 cat 上使用不同的分隔符,“EOF”对 shell 没有任何特殊之处:
cat - << REALEND > file1.sh
echo first
cat - << EOF > file2.sh
echo second
EOF
echo again first
REALEND
结果在此内容中file1.sh
echo first
cat - << EOF > file2.sh
echo second
EOF
echo again first
推荐阅读
- .net - vb.net 如何删除这个脚本标签?
- c++ - 如果不需要动态多态,基类是否应该声明虚拟方法?
- ionic-framework - 当我到达栅栏时,无法使用离子原生地理围栏接收通知
- node.js - 推荐node中最好的pdf生成包
- python - Python - Spark - RDD 日期转换
- angular - 角度改变 scss 对象变量
- python - 将 2 个列表的字符串表示形式转换为列表
- graph - 将鼠标悬停在数据点上但在其下方某处时未显示 Google 图表工具提示。为什么?
- java - 在java中恢复线程
- sass - 如何在 SaSS/CSS 中为单行禁用更漂亮