译文: https://www.cn blogs.com/gzxbkk/p/10298799.html
运行脚本时,必须在一个文件中自动输入n行的内容。 如果是少数几行的内容,也有在echo中添加的方法,但是在很多行中,单纯地在echo中添加的方法是愚蠢的。
此时,可以使用EOF与cat命令联合进行内容的追加。
试着整理一下EOF的使用方法。
EOF是文件结尾的缩写,表示自定义终端。既然自定义,EOF就不是固定的,可以自由设定别名,在linux上按ctrl-d表示EOF。
EOF一般可以与cat联合进行多行文本输出。
其使用方法为以下:
.
EOF //结束
也可以定制。 例如,定制:
.
BBB //结束
可以在cat中根据重定向生成文件并添加操作。 在那之前我熟悉一些特殊符号:
:输入重定向
:输出重定向
:输出重定向、添加,不涵盖前面的内容
输入:标准命令行中分隔符的中间。
通过具体的例子,来感受一下EOF的使用方法的精彩之处吧。
1 )在文件test.sh中输入内容。
[ root @ slave-server opt ] # cattest.sh
123123123
3452354345
asdfasdfs
欧洲足球锦标赛
[ root @ slave-server opt ] # cattest.sh
123123123
3452354345
asdfasdfs
添加内容
[ root @ slave-server opt ] # cattest.sh
7777
8888
欧洲足球锦标赛
[ root @ slave-server opt ] # cattest.sh
123123123
3452354345
asdfasdfs
7777
8888
覆盖物
[ root @ slave-server opt ] # cattest.sh
55555
欧洲足球锦标赛
[ root @ slave-server opt ] # cattest.sh
55555
2 )定制EOF,如wang
[ root @ slave-server opt ] # cat haha.txt
千兆千兆
4444444
6666666
王
[ root @ slave-server opt ] # cat haha.txt
千兆千兆
4444444
6666666
3 )可以编写在一个文件中输入多行内容的脚本
[ root @ slave-server opt ] # touch/usr/local/MySQL/my.cn f//文件可以不预先创建,如果不存在,则使用EOF命令自动创建
[ root @ slave-server opt ] # vim test.sh
#! /dfdhb/bash
cat/usr/local/MySQL/my.cn f/usr/local/MySQL/my.cn f
[客户端]
端口=3306
socket=/usr/local/MySQL/var/MySQL.sock
[mysqld]
端口=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
DFD hbd -地址=0.0.0. 0
服务器id=1
sync_dfdhblog=1
log_dfdhb=mysql-dfdhb
[myisamchk]
key_buffer_size=8M
sort_buffer_size=8M
read_buffer=4M
write_buffer=4M
SQL _ mode=no _ engine _ substitution,STRICT_TRANS_TABLES
端口=3306
欧洲足球锦标赛
[根@从属服务器opt ] # sh test.sh//运行上述脚本
[ root @ slave-server opt ] #检查cat/usr/local/MySQL/my.cn f//脚本中的EOF是否成功写入
[客户端]
端口=3306
socket=/usr/local/MySQL/var/MySQL.sock
[mysqld]
端口=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
DFD hbd -地址=0.0.0. 0
服务器id=1
sync_dfdhblog=1
log_dfdhb=mysql-dfdhb
[myisamchk]
key_buffer_size=8M
sort_buffer_size=8M
read_buffer=4M
write_buffer=4M
SQL _ mode=no _ engine _ substitution,STRICT_TRANS_TABLES
端口=3306