linux中EOF的用法梳理
2019独角兽企业重金招聘Python工程师标准>>>
linux中EOF的用法梳理
在linux运维工作中,我们会碰到这样一个场景:
执行脚本的时候,需要往一个文件里自动输入N行内容。如果是少数几行,可以使用echo进行追加,如果是多行内容,再用echo追加就不合适了。
这个时候就可以使用EOF结合cat进行内容的追加了。
下面对EOF的用法进行梳理:
EOF是END OF FILE的缩写,表示自定义终止符。既然是自定义,那么EOF就不是固定的,可以随意设置别名,在Linux中按ctrl+d就可以代表EOF。
其用法如下:
<<EOF //开始
....
EOF //结束
还可以自定义:
<<BBB //开始
....
BBB //结束
通过cat配合重定向并追加操作,在这之前先熟悉几个符号:
< :输入重定向
> :输出重定向
>> :输出重定向,进行追加,不会覆盖之前内容
<< :标准输入来自命令行的一对分隔号的中间内容.
下面通过具体事例来感受下EOF用法的妙处:
- 向文件test.sh中添加内容
[tianqi@tianqi-01 shell]$ cat << EOF > test.sh
> 123456
> 456789
> adgcdg
> EOF
[tianqi@tianqi-01 shell]$ cat test.sh
123456
456789
adgcdg
[tianqi@tianqi-01 shell]$
- 追加内容
[tianqi@tianqi-01 shell]$ cat << EOF >> test.sh
> 777
> 888
> EOF
[tianqi@tianqi-01 shell]$ cat test.sh
123456
456789
adgcdg
777
888
[tianqi@tianqi-01 shell]$
- 覆盖内容
[tianqi@tianqi-01 shell]$ cat << EOF > test.sh
> 5555
> EOF
[tianqi@tianqi-01 shell]$ cat test.sh
5555
[tianqi@tianqi-01 shell]$
- 自定义EOF,比如自定义为tian
[tianqi@tianqi-01 shell]$ cat << tian > example.txt
> aaa
> bbb
> 333
> tian
[tianqi@tianqi-01 shell]$ cat example.txt
aaa
bbb
333
[tianqi@tianqi-01 shell]$
- 可以编写脚本,向一个文件中输入多行内容
[tianqi@tianqi-01 shell]$ touch my.cnf
[tianqi@tianqi-01 shell]$ vim test.sh
#!/bin/bash
cat > /home/tianqi/shell/my.cnf << EOF
/home/tianqi/shell/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
[tianqi@tianqi-01 shell]$ cat /home/tianqi/shell/my.cnf
/home/tianqi/shell/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
[tianqi@tianqi-01 shell]$
转载于:https://my.oschina.net/u/3744518/blog/1838395
linux中EOF的用法梳理相关推荐
- Linux中EOF用法
Linux中EOF用法 理解:EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF. EOF一般会配合c ...
- Nginx配置中的log_format用法梳理(设置详细的日志格式)
Nginx配置中的log_format用法梳理(设置详细的日志格式) nginx服务器日志相关指令主要有两条:一条是log_format,用来设置日志格式:另外一条是access_log,用来指定日志 ...
- linux中make的用法
一.linux中make的用法 目的: 基本掌握了make 的用法,能在Linux系统上编程. 环境: Linux系统 准备: 准备三个文件:file1. ...
- linux bin fuser,Linux中fuser命令用法详解
描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...
- linux ksh 用户名,实例讲解Linux中ksh的用法
实例讲解Linux中ksh的用法 发布时间:2008-02-18 20:46:01来源:红联作者:Modegle 熟悉Linux的朋友肯定都知道bash,它是Linux默认的命令行解释程序,熟悉Sol ...
- Linux之make的用法讲解,linux中make的用法
1.linux中make的用法 目的: 基本掌握了make 的用法,能在Linux系统上编程. 环境: Linux系统 准备: 准备三个文件:file1.c, file2.c, file2.h fil ...
- php eof 使用函数_PHP中EOF的用法介绍(附示例)
本篇文章给大家带来的内容是关于PHP中EOF的用法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. PHP EOF(heredoc)是一种在命令行shell(如sh.cs ...
- linux中ftp的用法,linux中的ftp命令用法(7页)-原创力文档
第 第 PAGE 1 页 共 NUMPAGES 1 页 linux中的ftp命令用法 Linux系统中的ftp命令功能强大,那么它的具体用法是怎样呢?下面由小编为大家整理了linux中的ftp命令用法 ...
- linux中test的用法,如何在Linux中使用test命令
Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随学习啦小编一起来学习下Linux系统中如何使用test命令吧. 1.判断一个命令的结 ...
最新文章
- jvmti_从javaagent迁移到JVMTI:我们的经验
- 策略梯度训练cartpole小游戏
- 深入浅出数据仓库中SQL性能优化之Hive篇
- 六十八、快速幂算法、牛顿迭代法、累加数组+二分查找的变形
- 文本字段和表单设计-UI组件系列
- BeetleX实现MessagePack和Protobuf消息控制器调用websocket服务详解
- 关于指针释放的小领悟
- mysql connector放在哪_关于MySQL Connector/C++那点事儿
- 【算法】 哈希表 自己模拟hashMap
- 随想录(从开源or1k看gcc后端移植)
- C语言深入浅出可变参数函数的使用技巧(转)
- Java多线程之内置锁与显示锁
- 墨者学院 - 零基础学习手工SQL注入
- 微信小程序富文本编辑器
- 同步助手java_八大手机平台全覆盖 QQ同步助手Java版发布
- linux下云翔php,《云翔曲谱》目录
- 在服务器上搭建ftp站点
- c语言音乐程序天空之城,51单片机演奏天空之城 c语言源程序
- 服务器远程连接端口号修改
- 编写站点robots文件