If条件语句实战

1.If条件判断语句

通常以if开头,fi结尾。也可加入else或者elif进行多条件的判断,if表达式如下:

if  (表达式) 
语句1
else
语句2
fi

2.If常见判断逻辑运算符详解:

-f             判断文件是否存在 eg: if [ -f filename ];
-d             判断目录是否存在 eg: if [ -d dir     ];
-eq            等于,应用于整型比较 equal;
-ne            不等于,应用于整型比较 not equal;
-lt            小于,应用于整型比较 letter;
-gt            大于,应用于整型比较 greater;
-le            小于或等于,应用于整型比较;
-ge            大于或等于,应用于整型比较;
-a             双方都成立(and) 逻辑表达式 –a 逻辑表达式;
-o             单方成立(or) 逻辑表达式 –o 逻辑表达式;
-z             空字符串;
||             单方成立;
&&             双方都成立表达式。

3.几种括号简单区别对比:

(  )               用于多个命令组、命令替换、初始化数组;
(( ))              整数扩展、运算符、重定义变量值,算术运算比较;
[]                 bash内部命令,[与test是等同的,正则字符范围、引用数组元素编号,不支持+-*/数学运算符,逻辑测试使用-a、-o。
[[ ]]              bash程序语言的关键字,不是一个命令,[[ ]]结构比[ ]结构更加通用,不支持+-*/数学运算符,逻辑测试使用&&、||。
{}                 主要用于命令集合或者范围,例如mkdir  -p  /data/201{7,8}/

4.If语句Shell脚本编程案例如下:

例1:比较两个整数大小。

#!/bin/bash
#By author jfedu.net 2017
NUM=100
if  (( $NUM > 4 )) ;then 
echo “The  Num  $NUM  more  than 4.”
else
echo “The  Num  $NUM  less   than 4.”
fi

例2:判断系统目录是否存在。

#!/bin/bash
#judge DIR or Files
#By author jfedu.net 2017
if  [  !  -d  /data/20140515  -a  !  -d  /tmp/2017/  ];then 
mkdir  -p  /data/20140515
fi

例3: if多个条件测试分数判断。

#!/bin/bash
#By author jfedu.net 2017
scores=$1
if  [[ $scores -eq 100 ]]; then
    echo "very good!";
elif [[ $scores -gt 85 ]]; then
    echo "good!";
elif [[ $scores -gt 60 ]]; then
    echo "pass!";
elif [[ $scores -lt 60 ]]; then
    echo "no pass!"
fi
原文地址:https://www.cnblogs.com/deny/p/10001060.html