Shell案例之部署成绩管理系统

执行脚本前需要的基础环境

能够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网

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值