📜  bash if - Shell-Bash (1)

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

Bash If - Shell/Bash

简介

Bash If 是 Shell/Bash 的一个重要组成部分,它能够根据条件执行不同的代码块。Bash If 语句可以包含多个条件和分支,并且可以嵌套使用。

Bash If 语法与其他编程语言的 if 语法类似,但也有一些特殊的语法。

语法

Bash If 语句的一般形式如下:

if [ condition ]
then
    # 如果条件为真,执行这个代码块
else
    # 如果条件为假,执行这个代码块
fi

其中,condition 是条件表达式,可以是任何返回值为真或假的命令。在方括号 [ ] 中的条件表达式是必须的。if 语句必须以 fi 结尾。

比较运算符

Bash If 支持以下比较运算符:

| 运算符 | 描述 | | ------ | ------------------------------------------------------------ | | -eq | 是否相等(equal) | | -ne | 是否不相等(not equal) | | -gt | 是否大于(greater than) | | -ge | 是否大于等于(greater than or equal to) | | -lt | 是否小于(less than) | | -le | 是否小于等于(less than or equal to) | | < | 是否小于(less than) | | <= | 是否小于等于(less than or equal to) | | > | 是否大于(greater than) | | >= | 是否大于等于(greater than or equal to) | | = | 是否相等(equal),在条件表达式中使用时,需要将它放在双引号 " 中 | | != | 是否不相等(not equal),在条件表达式中使用时,需要将它放在双引号 " 中 |

逻辑运算符

Bash If 支持以下逻辑运算符:

| 运算符 | 描述 | | ----------- | ----------------------------------------------- | | &&-a | 逻辑与(and) | | \|\|-o | 逻辑或(or) | | ! | 逻辑非(not),表示否定一个条件表达式的值。 |

字符串比较

Bash If 也支持字符串的比较,可以用于比较命令输出的字符串。

以下是 Bash If 中用于字符串比较的运算符:

| 运算符 | 描述 | | ------ | --------------------------------- | | = | 是否相等(equal) | | != | 是否不相等(not equal) | | > | 是否大于(greater than) | | < | 是否小于(less than) | | -z | 是否为空字符串 (字符串长度为0) |

示例

以下是 Bash If 的一些示例:

#!/bin/bash

# 比较两个数的大小
num1=10
num2=20
if [ $num1 -gt $num2 ]
then
    echo "$num1 大于 $num2"
else
    echo "$num1 小于 $num2"
fi

# 逻辑与
str1="hello"
str2="world"
if [ -n $str1 ] && [ -n $str2 ]
then
    echo "两个字符串都不为空"
fi

# 逻辑非
str=""
if ! [ -n $str ]
then
    echo "字符串为空"
fi

# 使用多个条件
age=18
if [ $age -lt 12 ]
then
    echo "儿童"
elif [ $age -lt 18 ]
then
    echo "少年"
elif [ $age -lt 25 ]
then
    echo "青年"
elif [ $age -lt 40 ]
then
    echo "中年"
else
    echo "老年"
fi
结尾

Bash If 是 Shell/Bash 编程语言的一个核心组成部分。希望这个介绍能够帮助你更好地理解 Bash If。