需求背景:
近日,在安装某软件过程,发现在安装过程需要输入一些信息才能继续下一步操作,在机器数量较少情况下,我们可以单台登录上去完成安装操作,但当机器数量超过一定时,如果再手动登录操作,就会产生大量重复性操作,既不能带来有效学习能力提升,同时也会极大产生不确定性,引发工作效率下降,那么如何自动化完成某些操作呢,尤其是带有交互功能的步骤呢,例如需要输入账号密码?
如有兴趣转载,请标注来源:https://www.cnblogs.com/xiong97/p/16557437.html 谢谢!
- EOF 多文本输入
需求案例 1
新交付了一批机器,每台机器只分配了一块落盘 ,现在根据需求对该盘进行分区并实现挂载,如何实现?
需求分析:
对于一个盘,实现分区挂载到不同目录,通常思路有两条:
方法一: 将整块盘作为一个PV ,整合成VG卷,再根据划分不同LV卷大小分给不同目录
方法二: 通过fdisk 将盘直接分割成对应需求的大小,再对磁盘初始化,完成挂载
方案解决
这里我们为了演示交互功能,选择方法二,实现脚本如下:
#!/bin/bash
fdisk /dev/sdb <<eof 0 1 n p wq eof mkfs.xfs dev sdb1 && mkdir -p data mount echo ' xfs defaults 2'>> /etc/fstab</eof>
分析上述脚本,我们发现使用了 一个关键字 EOF
EOF
是END Of File的缩写,表示自定义终止符.既然自定义,那么EOF就不是固定的,可以随意设置别名,在linux按ctrl-d就代表EOF.
EOF
一般会配合 cat
能够多行文本输出.
其用法如下:
<
Original: https://www.cnblogs.com/xiong97/p/16557437.html
Author: 静言善思
Title: Linux Shell 自动交互功能
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/611684/
转载文章受原作者版权保护。转载请注明原作者出处!