当需要将多行文件输入到文本时,如果每条都使用echo 到文件时是比较繁琐的,这种情况下可以使用cat EOF进行多行文件的覆盖或追加输入。

一、覆盖

这里有两种格式可以使用

1、格式一

#!/bin/bash
cat << EOF > /root/test.txt
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

2、格式二

#!/bin/bash
cat > /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

两种写法区别无法是要写入的文件放在中间或最后的问题,至于选哪种看个人喜好吧。

二、追加

覆盖的写法基本和追加一样,不同的是单重定向号变成双重定向号。

1、格式一

#!/bin/bash
cat << EOF >> /root/test.txt
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

2、格式二

#!/bin/bash
cat >> /root/test.txt <<EOF
Hello!
My site is www.361way.com
My site is www.91it.org
Test for cat and EOF!
EOF

需要注意的是,不论是覆盖还是追加,在涉及到变量操作时是需要进行转义的,例如:

#!/bin/bash
cat <<EOF >> /root/a.txt
PATH=\$PATH:\$HOME/bin
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1
export ORACLE_SID=yqpt
export PATH=\$PATH:\$ORACLE_HOME/bin
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
EOF

cat EOF追加与覆盖相关推荐

  1. shell实战(二):cat EOF 追加与覆盖文件

    一.前言 之前写shell脚本的时候,有这样一个需求:我需要创建一些文件,并将内容输入到文件中.如果创建一个文件内容模板,然后通过$1,$2传参的形式修改某些值,这样做感觉太不方便.后来从网上找了到 ...

  2. cat EOF file

    .多行导入文件(新建文件或者覆盖文件内容) cat << EOF > abcd.txt Hello! This is a test file! Test for cat and EO ...

  3. linux here用法,linux shell的here document用法(cat EOF)

    什么是Here Document? Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Doc ...

  4. linux cat eof如何指定变量,Linux cat和EOF的使用

    在某些场合,可能我们需要在脚本中生成一个临时文件,然后把该文件作为最终文件放入目录中.(可参考ntop.spec文件)这样有几个好处,其中之一就是临时文件不是唯一的,可以通过变量赋值,也可根据不同的判 ...

  5. python txt文件读写(追加、覆盖)

    python txt文件读写(追加.覆盖) 读取文件每一行 # 读取文件每一行 with open(r"C:\Users\xiahuadong\Desktop\数字人代码\文件行数.txt& ...

  6. linux cat EOF 变量自动解析问题

    使用如下shell安装node时,一直提示 command not found wget https://mirrors.huaweicloud.com/nodejs/latest-v8.x/node ...

  7. Ubuntu16.04 使用sudo cat EOF 编辑文件,提示Permission denied错误的解决办法

    一.执行命令报错 在Ubuntu16.04下,使用如下命令,修改hosts主机文件,居然提示权限错误: catty@node186:~$ sudo cat <<EOF > /etc/ ...

  8. linux shell的here document用法(cat EOF)

    什么是Here Document? Here Document 是在Linux Shell 中的一种特殊的重定向方式,它的基本的形式如下 cmd << delimiter   Here D ...

  9. Pandas中to_excel实现数据追加或者覆盖到Excel工作表

      这两天在想如何将一些重复的工作用Python实现自动化,但是遇见一些难题,比如用pandas中的to_exce插入数据时会出现覆盖原数据,或者直接直接把工作表给搞没了,整个人都不好了.所以查资料查 ...

最新文章

  1. 编写程序实验两个数的加减结果的判断_力学实验1:实验基础与实验仪器
  2. 计算机投诉信英语作文,【回复投诉信英语作文】_英语投诉信回复范文
  3. Kingbase金仓查看和剔除连接
  4. html load方法的区别,jQuery  中的.load()、$get()、$,post()用法和区别
  5. 八十七、探究最短路问题:Dijkstra算法
  6. dtft变换的性质_[2018年最新整理]DTFT变换.ppt
  7. requests-发送post请求
  8. [YOLO] libtorch-yolov3 代码下载
  9. 假设检验与区间估计的异同
  10. 数据分析学习笔记1---zip(),numpy.where
  11. 大数据第三季--Hbase(day6)-徐培成-专题视频课程
  12. 人脸活体检测人脸识别:眨眼+张口
  13. 量化投资为什么用python_1、量化投资—为什么选择Python?
  14. WeUI—微信官方UI库
  15. 七牛云 vue 图片上传简单解说,js 上传文件图片
  16. 谈谈前端角度出发做好SEO需要考虑什么?
  17. 使用Scrapy框架爬取88读书网小说,并保存本地文件
  18. 大象机器人推出史上最紧凑的六自由度机械臂-mechArm
  19. Java程序设计教程(第三版) 雍俊海 7.3 答案/代码
  20. 头歌--Java循环与分支语句编程练习

热门文章

  1. MySQL Workbench菜单汉化
  2. 决策树算法笔记整理1 - 如何划分?(信息熵,不纯度及信息增益)
  3. 伦敦银,基本面投资分析技巧
  4. java加密算法之base64篇
  5. poj2253佛洛依德
  6. Nexus3 搭建私服 maven 仓库
  7. WinForm中关于CausesValidation与Validating事件引发的一些发现.
  8. Lunix基本操作命令
  9. 联想ERP项目实施案例分析(1):项目背景
  10. 实现自定义字段的几种方式