星空网 > 软件开发 > 操作系统

在shell脚本中进行条件控制以及使用循环

 转载请标明:http://www.cnblogs.com/winifred-tang94/

if条件语句语法:

if [ 条件表达式 ]

then

           代码

else

           代码

fi

注意:在上面的if条件语句中,if和 [ 之间要有空格,而条件表达式和两边的 [ ] 都要有空格,条件表达式不能紧挨着 [ 和 ]。

if条件表达式以fi结束。

Eg.

在shell脚本中进行条件控制以及使用循环images/loading.gif' data-original="http://images2015.cnblogs.com/blog/977042/201608/977042-20160831230225261-1264616654.png" />

结果出现了以下问题:

在shell脚本中进行条件控制以及使用循环

原因是因为开头在#!后还要有一个/,加上/后解释器错误没有了,代码如下:

在shell脚本中进行条件控制以及使用循环

可是仍然有没有那个文件或目录的错误。对于这个错误我觉得是echo后的表达式有问题,于是注销了表达式,改输出small和bigger,结果程序运行正确,输出了small或者bigger。

在shell脚本中进行条件控制以及使用循环

所以对于echo后的表达式,我把表达式加上双引号,结果运行成功,没有问题了。

在shell脚本中进行条件控制以及使用循环

在shell脚本中进行条件控制以及使用循环

利用case表达式进行条件判断:

case 变量 in

str1)

命令串;;

str2)

命令串;;

*)

Eg.

在shell脚本中进行条件控制以及使用循环

在shell脚本中进行条件控制以及使用循环

刚才之所以出错,是因为代码没有正确结尾,case条件语句在shell中应该以esca结尾。

又出现错误如下:

在shell脚本中进行条件控制以及使用循环

原因:

         *后面的)为中文符号,将它改为英文符号,并且case条件语句的结束应该为esca而不是easc,修正后如下:

在shell脚本中进行条件控制以及使用循环

就正确了,正确结果如下:

在shell脚本中进行条件控制以及使用循环

在shell脚本中使用for循环

shell中可以使用三种循环:

A、for循环

第一种语法形式:
for var in list

do

         命令串

done

注意上面的list的形式可以使用空格分隔的$1 $2 $3,或者空格分隔的值1 2 3。

第二种语法形式:

for var

do

         命令串

done

在这种形式中,list被省略了,那么这时list就是指命令行参数,每次循环的var都是一个命令行参数。

eg.输出命令行参数的和

在shell脚本中进行条件控制以及使用循环

注意上面shell程序中echo命令的参数 -e是为了让\c 和\b生效,其中\c是表示输出加数后不换行,\b是退格的意思删除多余的+号。

运行脚本后出现错误:

在shell脚本中进行条件控制以及使用循环

原因:

         expr不能喝test指令的-gt婚后在一起用,要不然将expr改为test,要不然将-gt改为>=

,值得注意的是>=前面要使用\。

在shell脚本中进行条件控制以及使用循环

仍然出错为:

在shell脚本中进行条件控制以及使用循环

原因为:

         sum求和时,等号两端不能有空格

改为:

在shell脚本中进行条件控制以及使用循环

运行后结果为:

在shell脚本中进行条件控制以及使用循环

B、while循环

语法格式:
while 条件表达式

do

         命令行串;

done

eg.输出命令行每个参数

在shell脚本中进行条件控制以及使用循环

shift命令将命令行参数左移,是原来处于第二位的参数变成第一位然后输出。

结果为:

在shell脚本中进行条件控制以及使用循环

注意while循环的条件表达式也要用空格将条件表达式与 [ 和 ]分隔开来。

如果要在while中使用另一个变量n,要用 -n 的形式来表示在循环体中使用的一元表达式:

在shell脚本中进行条件控制以及使用循环

当然如果while中不添加-n也有一样的结果:

在shell脚本中进行条件控制以及使用循环

C、until循环

语法格式如下:

until 条件表达式

do

         命令串;

done

 




原标题:在shell脚本中进行条件控制以及使用循环

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

关税太高?Linio卖家为何还能赚的盆满钵满??:https://www.ikjzd.com/articles/126591
又有产品被下架,亚马逊、谷歌、Wish都不让卖!:https://www.ikjzd.com/articles/126592
如何防止亚马逊店铺关联?:https://www.ikjzd.com/articles/126593
亚马逊 调整佣金费率!FBA成本又要涨?:https://www.ikjzd.com/articles/126594
如何实现shopee的精准吸粉?速速来看!:https://www.ikjzd.com/articles/126595
如何在30天内获得首笔订单:独立站新卖家的营销清单!:https://www.ikjzd.com/articles/126610
川藏线自驾游要怎么走才比较划算呢?:https://www.vstour.cn/a/411240.html
去日本入住酒店,东西随意用却有一个特殊“要:https://www.vstour.cn/a/411241.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流