数学比较运算
| 符号 | 说明 | 符号 | 说明 |
| :--: | :---: | :--: | :---: |
| -lt | 小于 | -gt | 大于 |
| -le | 小于或等于 | -ge | 大于或等于 |
| -eq | 等于 | -ne | 不等于 |
`$?`上一个命令执行后的退出状态,`0`表示成功,其他表示失败。
```bash
[root@HongKong ~]# test 2 -gt 1
[root@HongKong ~]# echo $?
0
[root@HongKong ~]#
```
文件比较运算
| 符号 | 说明 | 符号 | 说明 |
| :--: | :--------: | :-------: | :--------: |
| -d | 存在且为目录 | -e | 文件存在 |
| -f | 存在且为文件 | -r | 存在且可读 |
| -s | 存在且不为空 | -w | 存在且可写 |
| -x | 存在且可执行 | -O | 存在且被当前用户拥有 |
| -G | 存在且默认组为当前组 | f1 -nt f2 | 检查f1比f2新 |
| | | f1 -ot f2 | 检查f1比f2旧 |
查看手册
```bash
man test
```
语法一:单if语句
```bash
if [ condition ]
then
commands
fi
```
```bash
if [ -e /etc/profile ]
then
echo "The file is exist1."
echo "The file is exist2."
echo "The file is exist3."
fi
```
语法二:if-then-else
```bash
if [ condition ]
then
commands
else
commands
fi
```
语法三:if-then-elif
```bash
if [ condition ]
then
commands
elif [ condition ]
then
commands
else
commands
fi
```