共计 1501 个字符,预计需要花费 4 分钟才能阅读完成。
这篇文章主要讲解了“linux 的 eof 怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“linux 的 eof 怎么使用”吧!
linux 的 eof 是自定义终止符,其全称是“END Of File”;eof 不是固定的,可以随意设置别名,在 linux 中按“ctrl-d”就代表 eof;eof 一般会配合 cat,能够输出多行文本。
一、EOF 的用法
EOF 是(END Of File)的缩写,表示自定义终止符。既然自定义,那么 EOF 就不是固定的,可以随意设置别名,在 linux 按 ctrl-d 就代表 EOF。
EOF 一般会配合 cat 能够多行文本输出。
其用法如下:
EOF # 开始
…. # 输入内容
EOF # 结束
还可以自定义,比如自定义:
ABC # 开始
….
ABC # 结束
通过 cat 配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号
:输入重定向
:输出重定向
:输出重定向, 进行追加, 不会覆盖之前内容
:标准输入来自命令行的一对分隔号的中间内容
例子 1:
[root@ren5 ~]# cat EOF
hello
EOF
hello
我们知道 cat 的操作对象是文件,但是例 1 中 cat 的操作对象不是文件,而是用户输入;那么我们可以这样理解例 1:先在文件 file 中输入“Hello”,再用 cat file 输出其中的内容。
也就是说我们可以用一个文件来替代 EOF EOF。
反过来说,如果操作命令中的文件是输入对象,也可以用 EOF EOF 来替代的。
例子 2:
[root@ren5 ~]# cat 1.txt
abc
[root@ren5 ~]# cat EOF 1.txt #向文件 1.txt 输入覆盖内容(也可以:cat 1.txt EOF)
123
456
678
LOL
EOF
[root@ren5 ~]# cat 1.txt
123
456
678
LOL
“EOF EOF”的作用是在命令执行过程中用户自定义输入,它类似于起到一个临时文件的作用,只是比使用文件更方便灵活。
二、cat EOF 与 cat -EOF 的区别
两个都是获取 stdin,并在 EOF 处结束 stdin,输出 stdout。
在我们使用 cat EOF 时,我们输入完成后,需要在一个新的一行输入 EOF 结束 stdin 的输入。EOF 必须顶行写,前面不能用制表符或者空格。
如果重定向的操作符是 -,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。这可以解决由于脚本中的自然缩进产生的制表符。
例子 1:
[root@ren5 ~]# cat 2.sh
#!/bin/bash
cat EOF
你好,EOF!
EOF
[root@ren5 ~]# sh 2.sh
你好,EOF!
[root@ren5 ~]# sh 2.sh
2.sh: 行 4: 警告: 立即文档在第 2 行被文件结束符分隔 (需要 `EOF)
你好,EOF!
EOF
如果结束分解符 EOF 前有制表符或者空格,则 EOF 不会被当做结束分界符,只会继续被当做 stdin 来输入。
例子 2:
[root@ren5 ~]# cat 2.sh
#!/bin/bash
cat -EOF
你好,EOF!
EOF
[root@ren5 ~]# sh 2.sh
你好,EOF!
虽然最后的 EOF 前面有多个制表符和空格,但仍然会被当做结束分界符,表示 stdin 的结束。
感谢各位的阅读,以上就是“linux 的 eof 怎么使用”的内容了,经过本文的学习后,相信大家对 linux 的 eof 怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!
向 AI 问一下细节
丸趣 TV 网 – 提供最优质的资源集合!