cat和EOF的使用 2011-11-11 15:52:00

标签:EOF cat

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://luxiaok.blog.51cto.com/2177896/711822

(1)cat和EOF简介

cat      用于显示文本文件内容,全部输出

EOF   “end of file”,表示文本结束符

 

(2)使用

用法1.多行导入文件(新建文件或者覆盖文件内容)

 

  1. cat << EOF >abcd.txt   

  2. Hello!   

  3. This is a test file!   

  4. Test for cat and EOF!   

  5. EOF 

 

来看下执行结果

 

  1. cat abcd.txt  

  2. Hello!   

  3. This is a test file!   

  4. Test for cat and EOF! 


这就是多行导入!

 

用法2.文件追加

cat << EOF >> test.sh

 

(3)说明

其实可以用其他字符来代替EOF,它也只是个标识符而已!

如果cat内容中带有 $变量的时候会将$和变量名变成空格,想到到转义字符\添加之后可以搞定。同样cat <中含有`的时候会将“内的命令转换成结果,同样也需要添加转义字符\<>

例如

 

 

  1. cat <<EOF >> /home/oracle/.bash_profile  

  2. PATH=\$PATH:\$HOME/bin  

  3. export ORACLE_BASE=/u01/app/oracle  

  4. export ORACLE_HOME=\$ORACLE_BASE/10.2.0/db_1  

  5. export ORACLE_SID=yqpt 

  6. export PATH=\$PATH:\$ORACLE_HOME/bin  

  7. export NLS_LANG="AMERICAN_AMERICA.AL32UTF8" 

  8. EOF 

 

如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识
# cat > test.txt
abcd
dcba

eftf
Ctrl-D