转自 https://blog.csdn.net/apache0554/article/details/45508631
两个都是获取stdin,并在EOF处结束stdin,输出stdout。

但是<<-是什么意思呢?

先来看man中的说明:

If the redirection operator is <<-, then all leading tab characters are stripped from input lines and the line containing delimiter.

翻译过来的意思就是:如果重定向的操作符是<<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。

这可以解决由于脚本中的自然缩进产生的制表符。

通俗一点的解释:

在我们使用cat <<EOF时,我们输入完成后,需要在一个新的一行输入EOF结束stdin的输入。EOF必须顶行写,前面不能用制表符或者空格

比如,下面的语句就不会出错:

cat <<EOF
Hello,world!
EOF

如果结束分解符EOF前有制表符或者空格,则EOF不会被当做结束分界符,只会继续被当做stdin来输入。
<<-就是为了解决这一问题:

cat <<-EOF
Hello,world!  EOF  

上面的写法,虽然最后的EOF前面有多个制表符和空格,但仍然会被当做结束分界符,表示stdin的结束。
这就是<<<<-的区别。

cat EOF与cat -EOF的区别相关推荐

  1. linux下cat命令,关于cat >file 、cat <file <<EOF、cat <<-EOF的区别

    我们经常会碰到这样一个场景: 执行脚本的时候,需要往一个文件里自动输入N行内容. 如果是少数的几行内容,还可以用echo追加方式,但如果是很多行, 单纯用echo追加的方式就显得愚蠢之极. 这个时候, ...

  2. cat <<EOF与cat <<-EOF的区别

    一.关于cat > abc.py << EOF语句的意思 在linux shell脚本中cat << EOF的语句,起到什么作用? 首先必须要说明的是EOF在这里没有特殊 ...

  3. linux中cat more less head tail 命令区别

    1.cat 显示文件连接文件内容的工具: cat 是一个文本文件查看和连接工具.查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名. 比如: [root@localhost ~]# c ...

  4. linux中cat、more、less命令区别详解

    linux中cat.more.less命令区别详解 转自:https://blog.csdn.net/xyw_blog/article/details/16861681 众所周知linux中命令cat ...

  5. Cat.1、Cat.4、4G之间的区别

    什么是Cat.1? Cat.1的全称是LTEUE-Category1,其中UE指的是用户设备,它是LTE网络下用户终端设备的无线性能的分类.根据3GPP的定义,UE类别以1-15分为15个等级.Cat ...

  6. Cat.1和Cat.4的区别

    Cat.1 Cat.4 NB-LOT 1.比较 2.Cat.1和Cat.4 介绍 1.比较 2.Cat.1和Cat.4 介绍 要区别Cat.1和Cat.4,首先我们要知道Cat是什么.Cat 是 Ca ...

  7. linux cat代码,linux cat命令(示例代码)

    1.cat命令功能 cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用 2.cat命令格式 ca ...

  8. 什么是cat.1和cat.4

    要区别Cat.1和Cat.4,首先我们要知道Cat是什么.Cat是Category的缩写,中文意思是"类别,种类".Cat后面的数字即代表不同的种类,3GPP将不同种类的网络用&q ...

  9. vst3插件_Blue Cat Audio Blue Cat PatchWork mac(蓝猫桥接插件)

    蓝猫的PatchWork是通用插件的patchbay和multi FX,可在单个实例中以串行和并行方式将多达64个VST,VST3,音频单元或内置插件托管到任何数字音频工作站(DAW)中路由选项. B ...

最新文章

  1. evolution configure
  2. Protobuf在Unity中的通讯使用
  3. [pymongo] pymongo.errors.CursorNotFound Exception
  4. 软考-信息系统项目管理师-信息系统安全管理
  5. PHP类的静态(static)方法和静态(static)变量使用介绍
  6. Python开发者的完美终端工具
  7. php写带分页的留言板,php中分页程序之基于留言板详解_PHP教程
  8. python lock_python多线程Lock和RLock的区别
  9. 排序算法:直接插入排序算法实现及分析
  10. 美赛数学建模O奖论文下载
  11. kafka集群搭建详细步骤
  12. 中山c 语言培训中心,中山英语口语培训中心
  13. 原生js实现拖拽效果,js拖拽原理
  14. 计算机网络调试记录表,计算机网络管理员中级操作技能考核评分记录表.doc
  15. 世界上最简单的会计书(利润表)
  16. Chrome 书签你知道怎么导入吗(谷歌浏览器的书签保存在哪里 、谷歌浏览器书签保存在哪个文件夹)
  17. POI给WORD添加水印(亲测可用)
  18. 无线传感器网络路由协议AODV(Ad hoc on-demand distance vector routing)
  19. springboot手写JDBC面对2000并发量毫无压力
  20. 85 数模 电动汽车目标客户销售策略研究(21 华数 C)

热门文章

  1. Junit4 Test Suit使用
  2. Python——n-gram实现
  3. WHERE CURRENT OF
  4. sshpass离线安装+应用场景
  5. 知识产权贯标补贴政策查询大全及怎么申请,奖励20万
  6. Nvidia TX2 外设
  7. Matlab模拟光粒攻击前后的三体运动
  8. 给图片加文字,加图片
  9. 深度实践嵌入式linux系统移植 光盘下载地址
  10. 一波囤书好机会!⎡送书+文章导航⎦