设为首页 收藏本站
查看: 759|回复: 0

shell脚本流程控制

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-11-21 12:47:29 | 显示全部楼层 |阅读模式
4.1. 3 Shell流程控制语句

If条件判断语句
If(表达式)#if ( Variable in Array )
语句1
else
语句2
fi

案例一,测试目录是否存在,不存在则新建(注意,中括号之间必须要空格)
#!/bin/sh
#judge direxist
if [  !  -d /data/20140515 ];then
mkdir  -p/data/20140515
else
echo  “This DIR isexist,Please exit …..”
fi
逻辑运算符解析:
-f判断文件是否存在eg:if [ -f filename ]
-d判断目录是否存在eg:if [ -d dir     ]
-eq等于应用于:整型比较
-ne不等于应用于:整型比较
-lt小于应用于:整型比较
-gt大于应用于:整型比较
-le小于或等于应用于:整型比较
-ge大于或等于应用于:整型比较
-a双方都成立(and)逻辑表达式–a 逻辑表达式
-o单方成立(or)逻辑表达式–o 逻辑表达式
-z 空字符串
案例三,多个条件测试判断
#!/bin/sh
scores=80;
if [[ $scores -gt 85]]; then
echo"very good!";
elif [[ $scores -gt 75]]; then
echo"good!";
elif [[ $scores -gt 60 ]]; then
echo"pass!";
else
       echo "no pass!";
fi;

循环语句for
For 变量in 字符串
do
语句1
done
案例一,打印seq多个数
#!/bin/sh
for   i   in `seq 15`
do
echo  “NUMis $i”
done
案例二,找到相关log,然后批量打包
#!/bin/sh
for   i   in `find /var/log  -name “*.log”`
do
tar –czf 2014log.tgz $i
done
循环语句while
while 条件语句
do
语句1
done
案例一,while条件判断数字
#!/bin/sh
i=1;
while [[ $i -lt 10 ]];do
echo $i;
((i++));
done;
案例二,while逐行读取某个文件
#!/bin/sh
while read line
do
echo $line;
done< /etc/hosts
Case选择语句
case $arg in
pattern1)
语句1
;;  
pattern2)
语句2
;;  
*)
语句3
;;  
esac
案例一,创建选择参数脚本
#!/bin/sh
case $1 in
monitor_log)
monitor_log
;;
archive_log)
archive_log
;;
*          )
echo "Usage:{$0 monitor_log | archive_log |help}"
;;
esac


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-303452-1-1.html 上篇帖子: 通过expect的自动交互实现ssh公钥批量下发 下篇帖子: shell脚本wget crul监控某网站是否正常
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表