Linux Shell编程-流程控制

一 if语句
1 单分支if语句
if [ 条件判断式 ];then
程序
fi
或者
if [ 条件判断式 ]
then
程序
fi
注意点:
if语句使用fi结尾,跟一般语言使用大括号结尾不同
中括号和条件判断式直接必须有空格
then后面跟符合条件之后执行的程序,可以放在[]之后用;分隔,也可以换行写入,就不需要;了

例子:判断分区使用率
Linux Shell编程-流程控制
我现在想把/dev/sda5中的第5列的数字截取出来,然后判断是否大于一个限定数字,如果大于就输出警告,我这里为了测试,限制数字为10
Linux Shell编程-流程控制

Linux Shell编程-流程控制

2 双分支if语句
if [ 条件判断式 ]
then
条件成立时,执行的程序
else
条件不成立时,执行的另外一个程序
fi

例子1:备份mysql数据库
Linux Shell编程-流程控制
记录时间。记录大小,然后判断备份目录是否存在,如果不存在创建,然后把/var/lib/mysql和记录时间和大小的文件一起备份到/tmp/dbbak
Linux Shell编程-流程控制

3 多分支if条件语句
if [ 条件判断式1 ]
then
当条件判断式1成立时,执行程序1
elif [ 条件判断式2 ]
then
当条件判断式2成立时,执行程序2
…省略更多条件…
else
当所有条件都不成立时,执行此程序
fi

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

二 case语句
case $变量名 in
“值1”)
如果变量的值等于值1,则执行程序1
;;
“值2”)
如果变量的值等于值2,则执行程序2
;;
…省略其他分支…
*)
如果变量的值不是以上的值,则执行此程序
;;
esac

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

三 for循环
语法1
for 变量 in 值1 值2 值3
do
程序
done

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

语法2
for((初始值;循环控制条件;变量变化))
do
程序
done

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

例子:批量添加指定数量的用户
Linux Shell编程-流程控制

Linux Shell编程-流程控制

Linux Shell编程-流程控制

四 while循环和until循环
while循环
语法:
while [ 条件判断式 ]
do
程序
done

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

until循环和while循环刚好相反,条件判断式不成立时执行程序
语法:
until [ 条件判断式 ]
do
程序
done

例子:
Linux Shell编程-流程控制

Linux Shell编程-流程控制

好了,Linux Shell编程-流程控制就总结到这里,如有问题,欢迎指正,谢谢。

相关推荐