Linux-03shell语法3

发布时间 2023-12-10 14:42:06作者: AFEIOOO

判断语句

if…then形式

  • 类似于C/C++中的if-else语句。

单层if

  • 命令格式:
if condition
then
    语句1
    语句2
    ...
fi
  • 示例:
a=3
b=4

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

单层if-else

  • 命令格式
if condition
then
    语句1
    语句2
    ...
else
    语句1
    语句2
    ...
fi
  • 示例:
a=3
b=4

if ! [ "$a" -lt "$b" ]
then
    echo ${a}不小于${b}
else
    echo ${a}小于${b}
fi
  • 输出结果:
3小于4

多层if-elif-elif-else

  • 命令格式
if condition
then
    语句1
    语句2
    ...
elif condition
then
    语句1
    语句2
    ...
elif condition
then
    语句1
    语句2
else
    语句1
    语句2
    ...
fi
  • 示例:
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
  • 输出结果:
其他

case…esac形式

  • 类似于C/C++中的switch语句。

  • 命令格式

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

case $a in
    1)
        echo ${a}等于1
        ;;
    2)
        echo ${a}等于2
        ;;
    3)
        echo ${a}等于3
        ;;
    *)
        echo 其他
        ;;
esac
  • 输出结果:
其他

概述

概述