Shell test命令的关系运算
test命令的关系运算主要用于if语句。
Shell提供test命令进行判断,[ ]是test命令等价写法。平时使用[ ]更多。
详情可查看帮助
man test
 
test命令语法
test 表达式
 
test与表达式之间用空格分开。
变态的返回结果
0真1假。
因为test命令通过退出状态来返回值:
退出状态为0表示表达式为真;
退出状态为1表示表达式为假。
[ ]语法
[ 表达式 ]
 
test的等价写法。
表达式的前后必须保留空格。
表达式中的关系运算有自己专门的语法。
test命令的关系运算
| 条件判断的关系运算 | 说明 | 
|---|---|
| -eq | 判断是否相等 | 
| -ne | 判断是否不相等 | 
| -gt | 判断是否大于 | 
| -lt | 判断是否小于 | 
| -ge | 判断是否大于等于 | 
| -le | 判断是否小于等于 | 
不用if调用进行测试
本节内容主要用于if语句,因可能还没学习if语句。
本节执行方法:先直接执行命令,通过$?查看命令的返回状态。
示例
例1:直接在终端每句依次执行。(懒得写文件)
[ 1 -eq 2 ]
echo $?
[ 1 -ne 2 ]
echo $?
 

$?返回1说明表达式为假,返回0说明表达式为真。
例2:使用test
test 1 -eq 2
echo $?
test 1 -ne 2
echo $?
 

例3:if语句使用关系运算
文件 05relational-02if.sh
#!/bin/bash
#test命令中的关系运算
if [ 2 -eq 1 ]
then
	echo "2==1"
else
	echo "2==1不成立"
fi
if test 1 -eq 1 
then
	echo "1==1"
else
	echo "1==1不成立"
fi
 
