记录一个自动创建分区的脚本

[root@es-node1 ~]# cat auto_add_disk.sh         
#!/bin/bash
fdisk /dev/sdb <<EOF
n
p
1
                           #必须的空格,代表第一次回车
                           #必须的空格,代表第二次回车(回想分区过程就知道了)
wq
EOF
 
/sbin/mkfs.ext4 /dev/sdb1 &&  /bin/mkdir -p /data && /bin/mount /dev/sdb1 /data
echo 'LABEL=data_disk /data ext4 defaults 0 2' >> /etc/fstab

 

主要是记录EOF的用法,可以把命令罗列出来传递执行到EOF前面的中去,可以配合需要交互的环境。逐个执行命令。达到批量操作一些名的的效果。

配合mysql操作,可以实现登录mysql终端,批量执行mysql命令,比如创建用户,数据库授权等操作。适合批量操作情景。

附EOF基本使用方法:

 

下面就对EOF的用法进行梳理:
EOF是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
EOF一般会配合cat能够多行文本输出.
其用法如下:
<<EOF        //开始
....
EOF            //结束

还可以自定义,比如自定义:
<<BBB        //开始
....
BBB              //结束

 

示例示范:

下面通过具体实例来感受下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

 

posted @ 2017-11-15 16:18  忙碌在路上  阅读(616)  评论(0编辑  收藏  举报