cat <<EOF

(1)cat和EOF简介
  • cat 用于显示文本文件内容,全部输出
    EOF “end of file”,表示文本结束符
(2)使用
  • 用法1.多行导入文件(新建文件或者覆盖文件内容)
    在cat <<EOF >abcd.txt命令 与下一个输入的EOF行之间的所有文本行都会被当做是stdin数据。
root@unbuntu:/# cat << EOF >abcd.txt
> uu
> hello world
> ii
> hah
> EOF
root@ubuntu:/# cat abcd.txt
uu
hello world
ii
hah 

这就是多行导入!

用法2.文件追加
cat << EOF >> test.sh

(3)说明
其实可以用其他字符来代替EOF,它也只是个标识符而已!
如果cat内容中带有 $变量的时候会将$和变量名变成空格,想到到转义字符\添加之后可以搞定。同样cat <<EOF中含有`的时候会将“内的命令转换成结果,同样也需要添加转义字符
例如

cat <<EOF >> /home/oracle/.bash_profile  
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 

如果不是在脚本中,我们可以用Ctrl-D输出EOF的标识

# cat > test.txt
abcd
dcba
eftf
Ctrl-D
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,624评论 1 19
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,700评论 0 13
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 14,228评论 2 33
  • 过年是中国的传统节日,全中国最盛大的节日,小时候,最期盼过年,甚至一想到过年,会期待,会激动! 如今不知是年岁大了...
    枨杍阅读 806评论 0 0
  • 未来真的很遥远吗?错的,在小时候,我记得常常在妈妈的怀抱了撒娇,跟妈妈说了自己长大后想成为... ... 想想,现...
    甜酸辣和甜阅读 3,269评论 0 0