Linux EOF 输入流
当EOF中使用到shell变量是 会出现解析问题 解决方案参考:
linux cat EOF 变量自动解析问题 https://blog.csdn.net/whatday/article/details/98579404
在平时的运维工作中,我们经常会碰到这样一个场景:
执行脚本的时候,需要往一个文件里自动输入N行内容。如果是少数的几行内容,还可以用echo追加方式,但如果是很多行,那么单纯用echo追加的方式就显得愚蠢之极了!
这个时候,就可以使用EOF结合cat命令进行行内容的追加了。
下面就对EOF的用法进行梳理:
EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
EOF一般会配合cat能够多行文本输出.
其用法如下:
<<EOF //开始
....
EOF //结束
还可以自定义,比如自定义:
<<BBB //开始
....
BBB //结束
通过cat配合重定向能够生成文件并追加操作,在它之前先熟悉几个特殊符号:
< :输入重定向
> :输出重定向
>> :输出重定向,进行追加,不会覆盖之前内容
<< :标准输入来自命令行的一对分隔号的中间内容.
下面通过具体实例来感受下EOF用法的妙处:
1)向文件test.sh里输入内容。
[root@slave-server opt]# cat << EOF >test.sh
> 123123123
> 3452354345
> asdfasdfs
> EOF
[root@slave-server opt]# cat test.sh
123123123
3452354345
asdfasdfs
追加内容
[root@slave-server opt]# cat << EOF >>test.sh
> 7777
> 8888
> EOF
[root@slave-server opt]# cat test.sh
123123123
3452354345
asdfasdfs
7777
8888
覆盖
[root@slave-server opt]# cat << EOF >test.sh
> 55555
> EOF
[root@slave-server opt]# cat test.sh
55555
2)自定义EOF,比如自定义为wang
[root@slave-server opt]# cat << wang > haha.txt
> ggggggg
> 4444444
> 6666666
> wang
[root@slave-server opt]# cat haha.txt
ggggggg
4444444
6666666
3)可以编写脚本,向一个文件输入多行内容
[root@slave-server opt]# touch /usr/local/mysql/my.cnf //文件不提前创建也行,如果不存在,EOF命令中也会自动创建
[root@slave-server opt]# vim test.sh
#!/bin/bash
cat > /usr/local/mysql/my.cnf << EOF //或者cat << EOF > /usr/local/mysql/my.cnf
[client]
port = 3306
socket = /usr/local/mysql/var/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/var/mysql.sock
basedir = /usr/local/mysql/
datadir = /data/mysql/data
pid-file = /data/mysql/data/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
sync_binlog=1
log_bin = mysql-bin
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port = 3306
EOF
[root@slave-server opt]# sh test.sh //执行上面脚本
[root@slave-server opt]# cat /usr/local/mysql/my.cnf //检查脚本中的EOF是否写入成功
[client]
port = 3306
socket = /usr/local/mysql/var/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/var/mysql.sock
basedir = /usr/local/mysql/
datadir = /data/mysql/data
pid-file = /data/mysql/data/mysql.pid
user = mysql
bind-address = 0.0.0.0
server-id = 1
sync_binlog=1
log_bin = mysql-bin
[myisamchk]
key_buffer_size = 8M
sort_buffer_size = 8M
read_buffer = 4M
write_buffer = 4M
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
port = 3306
Linux EOF 输入流相关推荐
- linux eof tmp目录,Linux学习-标准输入输出(示例代码)
标准输入输出重定向--Linux下任何一个命令的执行,他都会经过下图所示的流程: 目录 三种I/O设备 把I/O重定向入文件 tr 使用管道链接命令 实际案例 一.I/O设备Linux提供了三种I/O ...
- Linux EOF使用
# cat << EOF > fileB 用法 例: vi ceshi.sh cat<<eof>file1aaaabbbbccccddddeof 操作图如下: ...
- C++中eof(),bad(),fail(),good(),clear()
1.eof() 输入流状态检测如果读文件到达文件末尾,返回true. 问题: 关于输入流状态函数cin.eof()的问题 int main() {char gc; while(!cin.eof()) ...
- linux 股票指南针,linux 基础命令 1
1 创建目录/data mkdir -p /data -p 递归创建目录 ,创建多级层目录 2 tree 以树的形状显示目录 -L 1 显示多少层目录 只查看一层目录 ...
- LINUX 基础命令 一
linux 命令格式:命令 [参数] [路径] 1.切换到 / 目录 cd / change directory --> cd 2.查看当前路径 pwd 3.在 / 下创建一个目录:xxx ma ...
- linux常用操作命令详解
将常用的linux操作命令整理下,超全面,超详细,每个命令都有实例,方便以后复习 目录 一.常用系统工作命令 1.echo 用于在终端输出字符串或变量提取后的值 2.date 用于显示及设置系统的 ...
- linux入门级知识回顾
ifdown eth0 #关闭网卡eth0 ifup eth0 #启动网卡eth0 ifconfig #查看网络配置:wq 保持并退出 :q 退出 :q! 强制退出不保存 :wq! 强制退出并保存 e ...
- checksum linux 命令_linux常用命令总结
一.find命令 作用:查找文件 [root@server ~]# find / -name elasticsearch /var/log/elasticsearch /var/run/elastic ...
- s5-6 Linux 标准输出 系统优化 目录结构
标准输出 重定向符号 #> 1> 标准输出重定向 先把文件的内容清空 把内容放在文件的最后一行 #>> 1>> 追加重定向 把内容放 ...
最新文章
- k均值聚类算法考试例题_K-均值聚类法实例解析
- LIbGDX 示例Tests详解一:AccelerometerTest
- 枚举IHTMLDocument2中所有IFRAME的内容
- Minetorch教程
- linux vi模式替换,linux基础命令之:vi模式下查找和替换
- 数据结构——最小生成树之克鲁斯卡尔算法(Kruskal)
- 论文浅尝 | 为基于知识库的问答构建形式查询生成
- 贪心の纪念品分组(洛谷P1094题题解,Java语言描述)
- iOS8开发-Swift编程
- Apache Kylin 部署之不完全指南
- (48)VHDL实现8位奇偶校验电路(process语句语句)
- yum安装Apache Web Server后各个文件存放位置
- haar的简单应用(1)
- 前后端交互模式大总结 艾提拉 总结 attilax总结 目录 1. 通过ajax ajax就是js的网络api 完全解耦合 推荐	1 1.1. Query Ajax 操作函数	1 1.2. 服务
- 需求规格说明书【样本】
- 中望cad文字显示问号怎么办_如果CAD工程图显示乱码怎么办?
- html5脑图_HTML5制作思维导图
- 激荡三十年:银行数据库的发展与变迁
- 水木周平戏说中国网络黑幽默
- MSP430(CCS工程下)添加printf实现打印功能