shell流程控制语句
Posted 龟龟大宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell流程控制语句相关的知识,希望对你有一定的参考价值。
一、文件存在判断
-d 判断该文件是否存在,并且是否为目录文件(是目录为真)
-e 判断该文件是否存在(存在为真)
-f 判断该文件是否存在,并且是否为普通文件(是普通文件为真)
二、文件权限判断
-r 判断该文件是否存在,并且是否有读权限(有读权限为真)
-w 判断该文件是否存在,并且是否有写权限(有写权限为真)
-x 判断该文件是否存在,并且是否有执行权限(有执行权限为真)
三、整数判断
shell作为弱类型语言,默认所有内容都是字符串,但是下列比较命令会将两边的内容自动转换成数值类型,所以不用(())
-eq 相等
-ne 不相等
-ge 大于等于
-le 小于等于
-gt 大于
-lt 小于
四、字符串类型
-z 字符串是否为空,为空返回真
-n 字符串是否非空,非空返回真
== 相等,相等为真(=也可用来判断字符串是否相等,但是容易与赋值运算混乱)
!= 不等,不等为真
五、多重条件判断
-a 都真则真
-o 一真则真
! 非
六、if语句
单分支:
if [条件判断式]
then 程序
fi
双分支:
if[]
then
echo "1"
else
echo "2"
fi
多分支:
if[]
then
echo "1"
elif[]
then
echo "2"
else
echo "3"
fi
七、case语句
case $a in
"yes")
echo "aa"
;;
"no")
echo "bb"
;;
*)
echo "cc"
;;
esac
八、for循环
for i in 1 2 3 4 5
do
echo $i
done
for i in $(cat a.txt)
do
echo $i
done
s=0
for (( i=1;i<=100;i=i+1 ))
do
s=$(( $s+$2 ))
done
九、while循环
while [ $i -le 100 ]
do
.....
done
while read line
do
......
done < cat a.txt
以上是关于shell流程控制语句的主要内容,如果未能解决你的问题,请参考以下文章