shell实战之case语句的选择提示

知识点包括:case语句,cat多行输入,break和exit的区别,wget断点续传,while中断条件写法,函数的使用方法

#!/bin/bash
echo "
1. 本机容器情况如下"
docker ps

echo "
2. apache文件包有: "
ls | grep apache

echo "
3. webapps文件包情况:"
ls | grep webapp

cat << END


你可以做的操作如下
1. 移走apache
2. 删除webapps
3. 外部没web服务,不做任何操作
END
read
-p "请做出你的选择: " num


# 1. case选择函数 choose() {
case $num in 1) echo "移走apache" mkdir -p school_deploy/tomcat/axinfu/bak/201807_update/apache mv apache* school_deploy/tomcat/axinfu/bak/201807_update/apache/ ;; 2) echo "删除webapps" rm -rf webapps/ ;; 3) echo "容器外部已没web文件,继续执行下面的命令" break #这里不能用exit,否则直接退出脚本 ;; esac } # 2. 监控功能函数 function(){ # -c:断点续传,-t:重试次数 -T:超时时间 wget -t 3 -T 10 -c http://47.52.136.86:8088/xuexiaodaima.csv read -p "please input school name: " name x=$(cat xuexiaodaima22.csv | grep $name) code=$(echo "$x" | cut -d "," -f 2) echo $code sleep 3 mkdir zabbix && cd zabbix wget -t 3 https://wars.oss-cn-hangzhou.aliyuncs.com/zabbix-agent.tar.gz tar xzf zabbix-agent.tar.gz && cd etc read -p "please input school code: " code1 sed -i "s/haerbingtiyu/$code1/g" zabbix_agentd.conf #开启docker-compose cd .. docker-compose up -d }

# 3. 执行函数function()和choose()
function
eval=1
while eval
do
choose
if [ $num != "3" ];then
   read -p "请做出你的选择: " num
else
  echo "执行下面的命令"
  $eval=-1
fi
done
 
原文地址:https://www.cnblogs.com/regit/p/9360823.html