📜  Bash 脚本 – If 语句(1)

📅  最后修改于: 2023-12-03 14:59:29.876000             🧑  作者: Mango

Bash 脚本 – If 语句

介绍

在 Bash 脚本中,if 语句用于检查条件是否为真。如果条件为真,则执行一些操作。如果条件为假,则跳过这些操作,继续执行程序。if 语句的语法如下:

if [ condition ]
then
    # do something
else
    # do something else
fi
条件

if 语句中的条件可以是一个数值、字符串或文件等。可以使用以下比较运算符检查条件:

  • -eq 检查两个数值是否相等
  • -ne 检查两个数值是否不相等
  • -lt 检查左边的数值是否小于右边的数值
  • -gt 检查左边的数值是否大于右边的数值
  • -le 检查左边的数值是否小于或等于右边的数值
  • -ge 检查左边的数值是否大于或等于右边的数值
  • -z 检查字符串是否为空
  • -n 检查字符串是否不为空
  • = 检查两个字符串是否相等
  • != 检查两个字符串是否不相等
  • -e 检查文件是否存在
  • -d 检查文件是否为目录
  • -f 检查文件是否为普通文件
示例

以下是一个简单的 if 语句示例:

#!/bin/bash

x=10

if [ $x -eq 10 ]
then
    echo "x is equal to 10."
else
    echo "x is not equal to 10."
fi

如果变量 x 的值为 10,则输出 x is equal to 10. 否则输出 x is not equal to 10.

多重条件

可以使用逻辑运算符 &&|| 在 if 语句中使用多重条件。以下是一个示例:

#!/bin/bash

x=10
y=20

if [ $x -eq 10 ] && [ $y -eq 20 ]
then
    echo "x is equal to 10 and y is equal to 20."
else
    echo "x is not equal to 10 or y is not equal to 20."
fi

如果变量 x 的值为 10 并且变量 y 的值为 20,则输出 x is equal to 10 and y is equal to 20. 否则输出 x is not equal to 10 or y is not equal to 20.

嵌套 if

if 语句可以嵌套在其他 if 语句中。以下是一个示例:

#!/bin/bash

x=10
y=20

if [ $x -eq 10 ]
then
    if [ $y -eq 20 ]
    then
        echo "x is equal to 10 and y is equal to 20."
    fi
else
    echo "x is not equal to 10."
fi

如果变量 x 的值为 10 并且变量 y 的值为 20,则输出 x is equal to 10 and y is equal to 20. 如果变量 x 的值不为 10,则输出 x is not equal to 10.

结论

if 语句是 Bash 脚本中的重要组成部分,可以用于检查条件并执行相应操作。可以使用比较运算符、逻辑运算符和文件测试运算符检查条件。如果需要检查多个条件,可以使用多重条件和嵌套 if 语句。