Shell中如何实现流程控制
小编给大家分享一下Shell中如何实现流程控制,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
创新互联公司服务项目包括铁力网站建设、铁力网站制作、铁力网页制作以及铁力网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,铁力网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到铁力省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
Shell 流程控制
在Linux编程中,流程控制语句基本为 if 、for、while、until、case等条件的控制语句
if控制
if常用语法结构
If (表达式); then echo .......... else echo .......... fi
演示:
#!/bin/bash num=10 if ((${num} > 4));then echo "${num} 大于 3" fi if test [${num} > 4];then echo "${num} 大于 4" fi
if 多重判断
#!/bin/bash num=10; if [ $num -lt 8 ];then echo "${num} 小于 8" elif [ ${num} -eq 10 ];then echo "${num} 等于 10" elif [ ${num} -gt 11 ];then echo "${num} 大于 10" else echo "没有符合的条件" fi;
for循环
for循环语法结构
For 变量 in 字符串 do echo "" done
演示:
#!/bin/bash #定义一个数组 val=(1 2 3 4 5 6) for i in ${val[*]} #也可以直接 in `seq 6` do echo "this is num: $i" done
输出结果:
#打印结果: this is num: 1 this is num: 2 this is num: 3 this is num: 4 this is num: 5 this is num: 6
演示2:
#!/bin/bash #对查找文件批量打包 for i in `find /var/log -name “*.log”` do tar –czf 2019log.tgz $i done
while循环
while语法结构
while (条件判断) do echo "" done
演示:
#!/bin/sh i=1; while(( $i <= 10 ));do #或者while [ $i -le 10 ];do echo $i; let "i++" # 或者((i++)); done;
输出结果:
1 2 . . 10
演示:
[root@localhost opt]# cat test.sh #!/bin/sh #打印文件内容 while read line do echo $line; done < /etc/hosts
until循环
until循环执行命令是需要条件为true时才退出,否知一直循环,[]主要判断true和false
until循环与while循环在处理方式相反,且while循环优于until循环
演示:
#!/bin/bash i=1; until [ ! $i -le 10 ];do echo $i; let "i++" #((i++)) or (i=`expr $i + 1`) done;
case选择语句
简单演示:
#!/bin/sh #author: case $1 in 1|2|3|4) echo "你输入数字为$1" ;; *) echo "Usage:{$0 1 | 2 | 3 | 4 | help}" echo "你输入数字不在服务区" ;; esac
简单演示
注意:
break 直接跳出while循环体 continue 只会跳出当前循环,不会跳出while循环
#!/bin/sh #author: while : do echo "------------------------" echo '输入 1-4之间的数字:' echo '你输入的数字为:' read num case $num in 1|2|3|4) echo "你输入数字为:${num} !!" ;; *) #echo "Usage:{$0 1 | 2 | 3 | 4 | help}" echo "------------------------" echo "你输入数字不在服务区" break # continue ;; esac done
select选择语句
#!/bin/sh #author: PS3="What you like most of the open source system?" select i in windows Linux Max do echo "Your Select System: "$i done
#目录是否存在 if [ ! -d $BAK_DIR ];then mkdir -p $BAK_DIR fi #test判断文件 if test -e ${BAK_DIR} then echo '文件存在!' else echo '文件不存在!' fi
看完了这篇文章,相信你对“Shell中如何实现流程控制”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
本文标题:Shell中如何实现流程控制
当前网址:http://lswzjz.com/article/jphjdd.html