shell的控制流程跟python,java,c等编程语言的控制流程是一样的。只做简单说明,对有编程基础的人来说超级见简单

1.if

if 满足条件
then
    执行
fi

2.if else

if 满足条件A
then
    执行命令
else
    执行命令(对于不满足A命令的)
fi

3.if else-if else

if 满足条件A
then
    执行命令
elif 满足条件B 
then 
    执行命令
else
    执行命令(不满足条件A和C的执行该命令)
fi

4.for循环

for var in item1 item2 ... itemN
do
    执行命令
done

5.while 语句

while 满足条件
do
    执行命令
done

菜鸟教程的一段代码,感觉很好:对于理解while命令
#!/bin/bash
int=1
while(( $int<=5 ))
do
    echo $int
    let "int++"
done

6.until 循环

until 满足条件
do
    执行命令
done

until 循环执行命令直到条件为 true 时停止,与 while 循环方式上正好相反。
#! /bin/bash
curPath=`pwd`
serverPath="/nfrzzl/server"
if [ "$curPaht" == "$serverPath" ];then
 echo "当前目录不是/mpjava/server"
 exit 0
fi
echo "开始执行basictools.biz------------------------------------------------------------"
enginFile[0]="ly.nfrzzl.basictools.biz"
enginFile[1]="ly.nfrzzl.basictools.service"
proName[0]="BasictoolsProvider"
proName[1]="BasictoolsConsumer"
for ((i=0;i<${#enginFile[@]};i++))
do
	echo "替换文件"
        echo "cd ${serverPath}/${enginFile[$i]} && rm -rf ./lib && cp ./lib_sc ./lib && cd ./bin && \cp -rf ./${enginFile[$i]}_sc ./${enginFile[$i]}" 
#	`cd ${serverPath}/${enginFile[$i]} && rm -rf ./lib && cp ./lib_sc ./lib && cd ./bin && \cp -rf ./${enginFile[$i]}_sc ./${enginFile[$i]}`
        pid=`jps |grep ${proName[$i]} |awk '{print $1}'`
        if [ "$pid" ];then
		echo `kill -9 ${pid}`
		echo "已杀死${pid}"
	fi
        echo "执行重启命令--------------------------------------------------------------------------------"
        ./qd.sh ${serverPath}/${enginFile[$i]} ${enginFile[$i]} &
        echo "${enginFile[$i]}服务重启完成----------------------------------------------------------------"        

done