shell scripts的简单使用二

循环
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
海阔凭鱼跃,天高任鸟飞。
原文地址:https://www.cnblogs.com/chenshikun/p/6394860.html