执行脚本前需要的基础环境
能够ping通外网即可
一、问题
1.出现用户未配置yum源,未安装docker,怎么解决
2.部署该系统时,如何解决传包
3.多次运行此脚本时,如何避免不重复运行已经执行成功的代码
4.当代码出现错误时,如何让他不继续运行,并输出状态码
5.函数内部如何对命令进行监控,如有错误就输出错误行以及错误码
二、分析
1.由于用户安装的情况参差不齐,可以采用用户交互的模式实现。
以下是我代码的一部分,通过询问用户输入指定数字,进行不同流程的进行,比方说这里输入数字1,那么他将进行安装docker,成功后跳出循环,2,表示已经安装,直接跳出循环,3,会打印出未列出该字符,从而继续循环,直到输入1或者2,跳出循环。
#安装docker
docker_script ()
{
status2=1
while (( $status2==1 ));do
read -p "输入1,未安装docker;输入2,已经安装了docker;请输入你需要的数字:" b
case $b in
1)
echo "该宿主机没有安装docker,接下来进行配置"
touch /etc/yum.repos.d/docker-ce.repo
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum install docker-ce docker-ce-cli containerd.io -y
check1=`echo $?`
while (( $check1>0 ));do
yum install docker-ce docker-ce-cli containerd.io -y
check2=`echo $?`
if [ $check2 -eq 0 ];then
systemctl start docker
systemctl enable docker
break
else
echo "未安装成功,将再次重试"
fi
done
break
;;
2)
echo "已经安装了docker"
break
;;
*)
echo "检测到输入未列出字符,请重新输入"
;;
esac
done
}
2.解决不同虚拟局域网的访问
其实如果只是进行传包,当然不难,比如说共享文件夹,ftp等等一些文件传输协议都能进行文件的传输,但是他们是在同一虚拟局域网中访问,于是我想到在windows上搭建了一个web网

最低0.47元/天 解锁文章
33万+

被折叠的 条评论
为什么被折叠?



