cat <<EOF 什么意思?
cat命令表示查看,而cat <<EOF命令表示将进行输入,直到以EOF终止符来结束输入(最后的新行)。EOF必须写在一行的头部,前面不能有制表符或者空格。如果结束符EOF前面有制表符或者空格,则EOF不会被当做结束符,只会被视为继续输入的状态。
简单的理解,就是随意输入一堆字符,当输入EOF的时候才真正结束。
如果还想写入到某个文件,可以 cat <<EOF > 某个文件,每次写入文件都会覆写而不是追加写。
这种是正确的写法:
cat <<EOF Hello,world! EOF
而<<-可以解决上面所说的问题:
cat <<-EOF Hello,world! EOF
虽然最后的EOF结束符前面有多个制表符和空格,但仍然会被当做结束符,表示输入的结束。输入内容是"Hello,world!"。