📅  最后修改于: 2023-12-03 14:39:27.594000             🧑  作者: Mango
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。