当前位置: 代码迷 >> 综合 >> shell编程中的条件判断if then elif fi等
  详细解决方案

shell编程中的条件判断if then elif fi等

热度:25   发布时间:2024-02-24 11:37:57.0

常用的判断类型有哪些?

①、判断文件类型:

-d:存在并且为目录才为真
-e:存在就为真
-f:存在并且为普通文件才为真

②、判断文件权限:

-r  -w  -x

③、数值之间的比较:

-eq   -ne  -gt -lt  -ge  -le

④、字符串的判断:

-z(为空('')返回真)  -n(不为空返回真)    ==(也可写=)   !=

⑤、判断的多重性:

-a(and)  -o(or)  !

shell编程中条件判断的写法格式是什么?

①、test或者中括号[]

test -e a.log 
#等价于[ -e a.log ]#处理输出结果 echo $?
[ -e a.log ]&&echo "yes"||echo "no"
[ 23 ge 40 ]&&echo "yes" || echo "no "  #no 
[ -n '' ]&&echo "yes" || echo "no "  #no 
[ -z "$sdfasfi" ]&&echo "yes" || echo "no "   # yes
[ ! -e a ]&&echo "不存在" || echo "存在 " # yes

 

②、if判断的两种格式:

if [ 条件判断表达式 ];then
elif [ 条件判断表达式 ];then
else
fi
或者
if [ 条件判断表达式 ]then
else
fi

案例:判断根分区是否使用超过了80:

rate=`df -h|grep "/dev/sd1"|awk '{printf $5}'|cut -d "%" -f 1`
if [ $rate -gt 80 ];then
echo "full"
elseecho "nofull"
fi

结果:nofull

 

  相关解决方案