linux的eof是什么意思

发布时间 - 2023-04-13 00:00:00    点击率:
linux的eof是自定义终止符,其全称是“END Of File”;eof不是固定的,可以随意设置别名,在linux中按“ctrl-d”就代表eof;eof一般会配合cat,能够输出多行文本。

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux的eof是什么意思?

shell基础之EOF的用法

一、EOF的用法

EOF是(END Of File)的缩写,表示自定义终止符。既然自定义,那么EOF就不是固定的,可以随意设置别名,在linuxctrl-d 就代表EOF

EOF一般会配合cat能够多行文本输出。

其用法如下:

开始

....                  #输入内容

EOF            #结束

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

开始

....

ABC              #结束

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

:输入重定向

>:输出重定向

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

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

例子1

[root@ren5 ~]# cat

> hello

> EOF

hello

我们知道cat的操作对象是文件,但是例1cat的操作对象不是文件,而是用户输入;那么我们可以这样理解例1:先在文件file中输入“Hello”,再用cat file输出其中的内容。

也就是说我们可以用一个文件来替代"。

反过来说,如果操作命令中的文件是输入对象,也可以用"来替代的。

例子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

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

二、cat

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

在我们使用cat 时,我们输入完成后,需要在一个新的一行输入EOF结束stdin的输入。EOF必须顶行写,前面不能用制表符或者空格。

如果重定向的操作符是,那么分界符(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

[root@ren5 ~]# sh 2.sh

你好,EOF

虽然最后的EOF前面有多个制表符和空格,但仍然会被当做结束分界符,表示stdin的结束。

推荐学习:《linux视频教程》


# linux  # EOF  # 对象  # 新宋体  # 自定义  # 重定向  # 你好  # 可以用  # 都是  # 几个  # 是在  # 还可以  # 多个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序制作网站有哪些,微信小程序需要做网站吗?  如何在香港服务器上快速搭建免备案网站?  手机网站制作与建设方案,手机网站如何建设?  详解Huffman编码算法之Java实现  焦点电影公司作品,电影焦点结局是什么?  网站建设整体流程解析,建站其实很容易!  做企业网站制作流程,企业网站制作基本流程有哪些?  北京网站制作的公司有哪些,北京白云观官方网站?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  如何用PHP工具快速搭建高效网站?  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  Android滚轮选择时间控件使用详解  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何用狗爹虚拟主机快速搭建网站?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  JS碰撞运动实现方法详解  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  网站制作软件有哪些,制图软件有哪些?  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何用花生壳三步快速搭建专属网站?  如何在宝塔面板创建新站点?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  实例解析angularjs的filter过滤器  制作企业网站建设方案,怎样建设一个公司网站?  Laravel如何发送系统通知?(Notification渠道示例)  如何基于云服务器快速搭建个人网站?  Laravel怎么判断请求类型_Laravel Request isMethod用法  Python图片处理进阶教程_Pillow滤镜与图像增强  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  如何在搬瓦工VPS快速搭建网站?  b2c电商网站制作流程,b2c水平综合的电商平台?  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel怎么实现验证码(Captcha)功能  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Laravel如何配置和使用缓存?(Redis代码示例)  高防服务器租用首荐平台,企业级优惠套餐快速部署  活动邀请函制作网站有哪些,活动邀请函文案?  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  如何快速搭建高效WAP手机网站吸引移动用户?  Laravel API资源类怎么用_Laravel API Resource数据转换  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  🚀拖拽式CMS建站能否实现高效与个性化并存?  Laravel中的withCount方法怎么高效统计关联模型数量