如何免交互在文件中写入多行内容? 就用它: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 的模式来完成  

posted on 2021-07-29 21:49  笑洋仟  阅读(517)  评论(0编辑  收藏  举报

levels of contents