循环
1、for....do....done,
2、while...do...done,
3、until...do...done,
在程序段当中,最常使用到的就是循环了!循环是很重要的一项工具,尤其是具有判断形式的循环,很常被使用来判断一些事项的可行性与否!
最简单的判断式可以是底下几种:
1、for (( 条件一; 条件二; 条件三 ))
2、for variable in variable1 variable2 .....
3、while [ condition1 ] && { || } [ condition2 ] ...
4、until [ condition1 ] && { || } [ condition2 ] ...
for 是已经知道有多少个 run 了,即是已经知道要跑几次了,至于 until 与 while 则分别是:
『until:直到条件相同的时候才离开程序』
『while:当条件相同的时候,就继续做!』
例1,计算1+2+3+...+100
#!/bin/bash #该脚本使用for条件判断 #建立日期2017-02-13 #创建者:csk declare -i sum for((i=1;i<=100;i++)) do sum+=i; done echo "$sum"
输出结果:
5050
#!/bin/bash #该脚本使用while条件判断 #建立日期2017-02-13 #创建者:csk declare -i sum declare -i i while [ "$i" != "101" ] do sum+=i; i=i+1; #此处不可写成i++ done echo "$sum"
输出结果:
5050
#!/bin/bash #该脚本使用until条件判断 #建立日期2017-02-13 #创建者:csk declare -i sum declare -i i until [ "$i" = "101" ] do sum+=i; i=i+1; #此处不可写成i++ done echo "$sum"
输出结果:
5050
例2 for..in...
#!/bin/bash #该脚本使用for..in... #建立日期2017-02-13 #创建者:csk LIST="Tomy Jony Mary Geoge" for i in $LIST do echo $i done
输出结果:
Tomy
Jony
Mary
Geoge
这一种格式是以空格键当作 i 这个变量的选择项目!也就是说,上面的 $LIST这个变量当中,以空格键来分隔的时候,共可以分离出来Tomy、Jony、Mary、Geoge这四个元素。
逻辑判断式
例3
使用条件判断来断定到底有没有档案(用 -e)或者是该名称是属于目录或者是档案( -d -f ),接下来我们来判断一个流程好了:
1、先查看一下当前目录下“csk”这个名称是否存在;
2、若不存在,则建立一个档案,使用 touch 来建立,建立完成后离开;
3、如果存在的话,判断该名称是否为档案,若为档案则将之删除后建立一个档案,档名为 csk,之后离开;
4、如果存在的话,而且该名称为目录,则移除此目录
#!/bin/bash #该脚本用于判断文件是否存在 #建立日期2017-02-13 #创建者:csk if [ ! -e csk ]; then touch logical echo "Just make a file csk" exit 1 elif [ -e csk ] && [ -f csk ]; then rm csk mkdir csk echo "remove file ==> csk" echo "and make directory csk" exit 1 elif [ -e csk ] && [ -d csk ]; then rm -rf csk echo "remove directory ==> csk" exit 1 else echo "Does here have anything?" fi
原文:http://www.cnblogs.com/chenshikun/p/6394860.html