[Linux] 结构化命令 if

Posted 萧飞IDO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Linux] 结构化命令 if相关的知识,希望对你有一定的参考价值。

语法结构如下:

1. if-then语句

# if-then语句

if command   #根据conmmand的退出状态码,选择执行语句
then
    commands
fi

e.g.
#!usr/bin/bash
testuser=rich
if grep $testuser /etc/passwd
then
        echo The bash files for user $testuser are:
        ls -a /home/$testuser/
fi

2. if-then-else语句

1 #!usr/bin/bash
2 if command     #根据conmmand的退出状态码,选择执行语句
3 then
4     commands
5 else
6     commands
7 fi

3. 嵌套if(elif)

 1 #!usr/bin/bash
 2 if command
 3 then
 4     commands
 5 elif command
 6 then
 7     commands
 8 elif command
 9 then
10     commands
11 else
12     commands
13 fi

4. test命令(单测试条件)

 1 # 主要有3类测试条件
 2     * 数值比较
 3     * 字符串比较
 4     * 文件比较
 5 
 6 #usr/bin/bash
 7 if test condition
 8 then
 9     commands
10 fi
11 
12 #!usr/bin/bash
13 if [ condition ] # condition前后又空格
14 then
15     commands
16 fi

5. 复合条件测试

 1 # AND测试:必须同时满足两个条件(真)
 2 if [ condition1] && [ condition2 ]
 3 then
 4     commands
 5 fi
 6 
 7 
 8 #OR测试:满足任何一个条件(任一为真)
 9 if [ conditon1 ] || [ condition2 ]
10 then
11     commands
12 fi

6. if-then高级特性

 1 # 双圆括号:用于数学表达式
 2     (( expression ))
 3 
 4 if (( expression ))
 5 then
 6     commands
 7     (( expression ))
 8 fi
 9 
10 # 双方括号:用于字符串表达式(e.g. 正则表达式)
11     [[ expression ]]
12 
13 if [[ expression ]]
14 then
15     commands
16 fi

7. case命令

 1 # 将指定的变量同不同的模式进行比较
 2 
 3 
 4 case variable in
 5 pattern1 | pattern2)
 6     commands1;;
 7 pattern3)
 8     commands2;;
 9 *)
10     commands3;;
11 esac

 

以上是关于[Linux] 结构化命令 if的主要内容,如果未能解决你的问题,请参考以下文章

[Linux] 结构化命令 if

Linux 使用结构化命令

Linux awk 命令详解(二) if 分支 数组

谢烟客---------Linux之bash脚本编程---if补充和for循环

《Linux命令行与shell脚本编程大全》第十二章 使用结构化命令

laravel特殊功能代码片段集合