Shell——if语句

目录

一、条件测试

二、文件测试

三、整数值比较

四、字符串比较

五、逻辑测试

六、if语句

七、case语句结构

 

 

 

 

 

 

一、条件测试

1、test命令

  测试表达式是否成立,若不成立返回0,否则返回其他数值

test 条件表达式     //或者
[ 条件表达式 ]

2、示例

 

 

 二、文件测试

1、格式

操作符 文件名或者目录名

2、常用的测试操作符

-d∶ 测试是否为目录(Directory)
-e∶ 测试目录或文件是否存在(Exist)
-f∶ 测试是否为文件(File)
-r∶ 测试当前用户是否有权限读取(Read)
-w∶ 测试当前用户是否有权限写入(Write)
-x∶测试当前用户是否有权限执行(eXcute)
-L∶测试是否为软链接文件

3、示例

 

 

 三、整数值比较

1、格式

[ 整数1 操作符 整数2 ]

2、常用的测试操作符

 

 

 3、示例

3.1 结合逻辑与进行查询当前目录下的文件数目

 

 3.2 查看系统内存是否低于或者高于1024M,如果满足条件则提示

 

 3.3 使用双括号加数字进行表示

 

 四、字符串比较

1、格式

[ 字符串1 = 字符串2 ]      //判断是否相等
[ 字符串1 != 字符串2 ]        //判断是否不等[ -z 字符串 ]

2、常用的测试操作符

  • =∶ 字符串内容相同
  • !=∶ 字符串内容不同,!号表示相反的意思
  • z∶字符串内容为空

3、示例

 

 五、逻辑测试

1、格式

[ 表达式1 ] 操作符 [ 表达式2 ]…
//或者
命令1 操作符 命令2…

2、常用的测试操作符

  • -a或&&∶ 逻辑与,"而且"的意思
  • -o或||∶ 逻辑或,"或者"的意思
  • !∶逻辑否

3、示例

 

 六、if语句

1、单分支结构

如果只有一个判断式要进行,那么我们可以使用单分支的if语句

1.1 格式

if [ 条件判断式 ];then
    当条件判断成立时,可以进行的命令工作内容
fi

1.2 原理图

 

 1.3 示例

 

 2、双分支结构

在同一个数据的判断中,如果该数据需要进行两种不同的判断,就使用双分支if语句

2.1 格式

if [ 条件判断式 ];then
    当条件判断成立时,可以进行的命令工作内容
else
    当条件判断不成立时可以进行的命令工作内容
fi

2.2 原理图

 

 2.3 示例

 

 3、多分支结构

如果数据需要进行多种不同的判断,则可以使用多分支结构

3.1 格式

if [ 条件判断式 ]; then
    当条件判断成立时,可以进行的命令工作内容
elif [ 条件判断式二 ]; then
    当条件判断成立时,可以进行的命令工作内容
else   
    当上面的条件判断都不成立时,可以进行的命令工作内容
fi     

3.2 原理图

 

 3.3 示例

 

 

 

 七、case语句结构

1、格式

case 变量名称 in
“第一个变量内容”
    程序段
    ;;
“第二个变量内容”
    程序段
    ;;
*)
    不包含第一个变量内容与第二个变量内容的其他程序执行段
    默认程序段
    ;;
esac  

2、示例

 

 

 

 总结

多注意格式

 

posted @ 2021-07-15 11:58  peiqy  阅读(96)  评论(0编辑  收藏  举报