
linux下EOF写法梳理
发布日期:2025-04-07 13:19:23
浏览次数:11
分类:精选文章
本文共 1364 字,大约阅读时间需要 4 分钟。
在平日的运维工作中,经常会遇到需要自动输入大量内容到文件中,但手动逐行输入显得非常低效的情况。对于少量的行文,可以使用echo
追加命令,但对于大量内容则显得很不妥了。这个时候,EOF
结合 cat
命令就显得尤为实用。
EOF 详解
EOF
是 END Of File
的缩写,表示自定义终止符。作为自定义终止符,EOF
并不像某些固定的终止符一样单一,用户可以根据需要自由设置别名。在 Linux 环境下,按下 Ctrl + D
即可输入 EOF
。
EOF
通常用于与 cat
命令配合,实现批量输入多行文本。在使用 EOF
之前,熟悉以下几个重定向符是非常重要的:
<
: 输入重定向>
: 输出重定向>>
: 输出重定向,用于追加,不会覆盖之前内容<<<
: 从命令行输入的内容
实际案例
1. 向文件输入内容
cat << EOF > test.sh1231231233452354345asdfasdfsEOF
执行以上命令后,test.sh
文件中将包含以下内容:
cat test.sh1231231233452354345asdfasdfs
2. 追加内容(追加而 不覆盖)
如果希望在已有文件基础上追加内容,可以使用 >>
追加符:
cat << EOF >> test.sh77778888EOF
执行后,test.sh
的内容将变为:
cat test.sh1231231233452354345asdfasdfs77778888
3. 覆盖文件
如果希望完全覆盖文件内容,可以直接使用 >
追加符:
cat << EOF > test.sh55555EOF
此时,test.sh
文件将只包含以下内容:
cat test.sh55555
自定义终止符
除了默认的 EOF
,我们还可以自定义终止符。例如,设定为 wang
:
cat << wang > haha.txtggggggg44444446666666wang
执行后,haha.txt
将包含以下内容:
cat haha.txtggggggg44444446666666
脚本化批量输入
如果需要将批量操作封装到脚本中,可以编写一个自动化的 sh
脚本:
#!/bin/bashtouch /usr/local/mysql/my.cnfcat > /usr/local/mysql/my.cnf << EOFport = 3306socket = /usr/local/mysql/var/mysql.sock...EOF
此脚本自动创建文件(如果文件不存在则自动创建)并批量输入内容。运行脚本后,可以通过以下命令验证结果:
cat /usr/local/mysql/my.cnf
自动新建分区并挂载
以下是一个用于自动新建分区并挂载的脚本示例:
#!/bin/bashfdisk /dev/sdb << EOFnp1wqEOFmkfs.ext4 /dev/sdb1mount dataecho "label=\"data_disk\" ext4 defaults 0 2" > /etc/fstab
这段代码首先使用 fdisk
格式化分区,随后进行文件系统创建和挂载操作,最终生成 /etc/fstab
文件,完成分区配置。
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月18日 18时58分25秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 使用记1 fastx toolkit安装问题
2023-02-01
Linux 内存优化性能实战
2023-02-01
Linux 内核 6.11 RC6 发布!
2023-02-01
Linux 内核/sbin/hotplug 工具
2023-02-01
Linux 内核kobject 缺省属性
2023-02-01
Linux 内核交互图
2023-02-01
linux 内核定时器精度_LWN 文章合集之 “内核定时器”
2023-02-01
Linux 内核有soft rdma吗?
2023-02-01
Linux 内核突破 4000 万行代码:创新与挑战并存的里程碑
2023-02-01
Linux 几种文件传输方式
2023-02-01
Linux 创建用户和工作组
2023-02-01
Linux 创建(删除)连接命令 ln -s 软连接
2023-02-01
Linux 利用lsof命令恢复删除的文件
2023-02-01
linux 单机版安装5.7
2023-02-01
Linux 卸载mysql-libs包出现问题如何解决
2023-02-01
Linux 压缩、解压和打包命令
2023-02-01
linux 发现交换文件 ".swp"
2023-02-01
Linux 命令
2023-02-01
linux 命令 - 磁盘管理命令 df
2023-02-01