189 8069 5689

linux的eof怎么使用

这篇文章主要讲解了“linux的eof怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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            #结束

还可以自定义,比如自定义:

<

....

ABC              #结束

通过cat配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号

<:输入重定向

>:输出重定向

>>:输出重定向,进行追加,不会覆盖之前内容

<<:标准输入来自命令行的一对分隔号的中间内容

例子1:

[root@ren5 ~]# cat <

> 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 < 1.txt             #向文件1.txt输入覆盖内容(也可以:cat > 1.txt <

> 123

> 456

> 678

> LOL

> EOF

[root@ren5 ~]# cat 1.txt

123

456

678

LOL

“<< EOF EOF”的作用是在命令执行过程中用户自定义输入,它类似于起到一个临时文件的作用,只是比使用文件更方便灵活。

二、cat <

两个都是获取stdin,并在EOF处结束stdin,输出stdout。

在我们使用cat <

如果重定向的操作符是<<-,那么分界符(EOF)所在行的开头部分的制表符(Tab)都将被去除。这可以解决由于脚本中的自然缩进产生的制表符。

例子1:

[root@ren5 ~]# cat 2.sh

#!/bin/bash

cat <

你好,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怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


名称栏目:linux的eof怎么使用
分享网址:http://jkwzsj.com/article/jjdeje.html

其他资讯