如何免交互在文件中写入多行内容? 就用它:cat > file <<EOF 的应用详解
一、 cat > file 涵义解析
1、cat 命令的定义
cat 命令用于连接文件并打印到标准输出设备上
2、>
> 在 linux 是意味着输出重定向的
3、cat > file
cat > file 用于创建文件并将标准输入设备上的内容输出重定向到 file 文件中去
[root@weq ~]# cat > file 1 1 ^C [root@weq ~]# cat file 1 1
cat > file 可以对 file 文件内容进行编辑,一旦 file 文件存在,则 file 原来的数据被新输入数据覆盖,并且在输入的时候,光标前方没有 > 提示符(cat > file << EOF 是有的)
最后,标记输入文件完成的方式也只有使用 Ctrl + C 或者 Ctrl + D
二、 << EOF 涵义解析
EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF
三、cat > file << EOF 涵义解析
cat > file 负责创建 file 文件,并提示用户输入文件内容,<< EOF 负责显示提示符 >,并且以 EOF 判定文件内容输入结束
四、补充
> 意味着输出重定向,那么还可以使用 >> 来代表着追加内容而不是覆盖内容,同样的,<< EOF 和 > file 的位置也不是固定的,二者可以交换
cat > file << EOF cat << EOF > file cat >> file << EOF cat << EOF >> file
总的来说,当你想要方便的往一个文件中写入多行内容,又想要同时能够在命令上中输入,并且自定义文件结束符的,就可以使用 cat > file << EOF 的模式来完成
将本人在工作学习中的一些知识记录并分享