[Shell详解-6]:判断语句if、case

Shell语法详解目录

1.if

类似于C/C++中的if-else语句。
if根据conditionexit code来判断condition是真还是假,exit code=0为真,exit code=其他为假,为真的时候,就会执行then后面的语句,为假的话就会去执行别的语句。

1.1 单层if

命令格式

if condition
then
    语句1
    语句2
    ...
fi

示例

#! /bin/bash

a=3
b=4

if [ "$a" -lt "$b" ] && [ "$a" -gt 2 ]
then
    echo ${
    
    a}在范围内
fi
# 输出3在范围内

1.2 单层if-else

命令格式

if condition
then
    语句1
    语句2
    ...
else
    语句1
    语句2
    ...
fi

示例

#! /bin/bash

a=3
b=4

if ! [ "$a" -lt "$b" ]
then
    echo ${
    
    a}不小于${
    
    b}
else
    echo ${
    
    a}小于${
    
    b}
fi

# 输出 3小于4

1.3 多层if-elif-elif-else

命令格式

if condition
then
    语句1
    语句2
    ...
elif condition
then
    语句1
    语句2
    ...
elif condition
then
    语句1
    语句2
else
    语句1
    语句2
    ...
fi

示例

#! /bin/bash

a=4

if [ $a -eq 1 ]
then
    echo ${
    
    a}等于1
elif [ $a -eq 2 ]
then
    echo ${
    
    a}等于2
elif [ $a -eq 3 ]
then
    echo ${
    
    a}等于3
else
    echo 其他
fi

# 输出 其他

2. case…esac形式

命令格式

case $变量名称 in
    值1)
        语句1
        语句2
        ...
        ;;  # 类似于C/C++中的break
    值2)
        语句1
        语句2
        ...
        ;;
    *)  # 类似于C/C++中的default
        语句1
        语句2
        ...
        ;;
esac

示例

#! /bin/bash

a=4

case $a in
    1)
        echo ${
    
    a}等于1
        ;;  
    2)
        echo ${
    
    a}等于2
        ;;  
    3)                                                
        echo ${
    
    a}等于3
        ;;  
    *)
        echo 其他
        ;;  
esac

猜你喜欢

转载自blog.csdn.net/weixin_52341477/article/details/127601129