cat EOF追加与覆盖
当需要将多行文件输入到文本时,如果每条都使用echo 到文件时是比较繁琐的,这种情况下可以使用cat EOF进行多行文件的覆盖或追加输入。
一、覆盖
这里有两种格式可以使用
1、格式一
1#!/bin/bash
2cat << EOF > /root/test.txt
3Hello!
4My site is www.361way.com
5Test for cat and EOF!
6EOF
2、格式二
1#!/bin/bash
2cat > /root/test.txt <<EOF
3Hello!
4My site is www.361way.com
5Test for cat and EOF!
6EOF
两种写法区别无法是要写入的文件放在中间或最后的问题,至于选哪种看个人喜好吧。
二、追加
覆盖的写法基本和追加一样,不同的是单重定向号变成双重定向号。
1、格式一
#!/bin/bash
cat << EOF >> /root/test.txt
Hello!
My site is www.361way.com
Test for cat and EOF!
EOF
2、格式二
1#!/bin/bash
2cat >> /root/test.txt <<EOF
3Hello!
4My site is www.361way.com
5Test for cat and EOF!
6EOF
需要注意的是,不论是覆盖还是追加,在涉及到**变量**操作时是需要进行转义的,例如:
1#!/bin/bash
2cat <<EOF >> /root/a.txt
3PATH=\$PATH:\$HOME/bin
4export ORACLE_BASE=/u01/app/oracle
5export ORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1
6export ORACLE_SID=yqpt
7export PATH=\$PATH:\$ORACLE_HOME/bin
8export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
9EOF
捐赠本站(Donate)
如您感觉文章有用,可扫码捐赠本站!(If the article useful, you can scan the QR code to donate))
- Author: shisekong
- Link: https://blog.361way.com/cat-eof-cover-append/4298.html
- License: This work is under a 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议. Kindly fulfill the requirements of the aforementioned License when adapting or creating a derivative of this work.