当前位置: 代码迷 >> 综合 >> linux杂谈之cat <<EOF和cat <<-EOF区别
  详细解决方案

linux杂谈之cat <<EOF和cat <<-EOF区别

热度:4   发布时间:2024-02-12 16:20:25.0

(0)为什么会有这两个存在?或者说为什么会有这个需求?

最开始学习的时候-->一定要'定格写' -->但是'不美观','可读性差'shell脚本的'可读性'!!!

(1)共性解释

'都是获取stdin,并在EOF作为标准输入的结束'cat > helo.txt << EOFHello JavaHello LinuxEOF---------------------  '分割线'  ---------------------cat > helo.txt <<- EOFHello JavaHello LinuxEOF补充:EOF只是个'标识符'而已,也可以用'其它字符'来'替代'

(2)帮助文档的解释

If the redirection operator is <<-, then all leading tab characters are stripped from input lines and  the  line  containing  delimiter.   解释:如果重定向的'操作符是<<-',则所有'前导制表符(Tab)'将从'输入行'和包含'界定符'行中删除;--> 这可以解决由于脚本中的'自然缩进'产生的'制表符'注意:是'制表符'而'不是空格'备注:bash容忍'<<-'与终止词之间存在一个空格,但是bash手册没有显示说明-->'移植性问题'-->最好连着