test 命令
测试表达式是否成立,若成立返0,否则返回其他数值
test 条件表达式
[条件表达式]

常用测试操作符
| -d | 测试是否为目录 |
| -f |
测试是否为文件 |
| -e | 测试目录或文件是否存在 |
| -r | 测试 当前用户是否有读权限 |
| -w | 测试 当前用户是否有写权限 |
| -x | 测试 当前用户是否有执行权限 |

整数数值比较
格式:[ 整数1 操作符 整数2 ]
- -eq:等于(Equal) ==
- -ne:不等于(Not Equal) !=
- -gt:数大于(Greater Than) >
- -lt:小于(Lesser Than) <
- -le:小于或等于(Lesser or Equal) <=
- -ge:大于或等于(Greater or Equal) >=
逻辑测试
格式1:[ 表达式1 ] 操作符 [ 表达式2 ] ...
格式2:命令1 操作符 命令2 ...
常用测试操作符
- -a或&&:逻辑与,“而且”的意思全真才为真
- -o或||:逻辑或,“或者”的意思一真即为真
- !:逻辑否
[ 表达式1 ] && [ 表达式2 ] 等同于 [ 表达式1 -a 表达式2 ] 等同于 [[ 表达式1 && 表达式2 ]]
[ 表达式1 ] || [ 表达式2 ] 等同于 [ 表达式1 -o 表达式2 ] 等同于 [[ 表达式1 || 表达式2 ]]

if语句
单分支
if [ 表达式 ] 条件测试
then 命令序列
...
fi 结束


双分支
if [ 表达式 ];then
...
else
...
fi

read -p '输入内容' num
if [ $num -eq $num ]
then
if [ $(($num % 2)) == 0 ]
then
echo '偶数'
else
echo '奇数'
fi
echo '整数'
else
echo '不是整数'
fi

多分支语句
if [ 表达式 ];then
...
elif [ 表达式 ];then
...
elif [ 表达式 ];then
...
[else]
fi


case语句
格式
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
*)
默认命令序列
esac


Linux中的test命令与条件判断语句
test命令用于检查条件表达式,根据不同的操作符判断文件类型、权限或进行整数和逻辑比较。在shell脚本中,if语句和case语句提供了基于不同条件执行不同命令的功能,支持单分支、双分支和多分支判断。


被折叠的 条评论
为什么被折叠?



