linux的eof怎么使用

79次阅读
没有评论

共计 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 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-02-04发表,共计1501字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)