记录shell中的数字与字符串比较操作用法
shell中的数字与字符串比较操作用法
if的格式
注意格式:
if空格[空格$A空格==空格$B空格];then
...
fi
空格一定要有,否则判断出错。
正确示例:
#!/bin/bash -x
A=1
B=2
if [ A == B ];then
echo "B"=$B
else
echo "A="$A
fi
输出A=1
错误示例:
#!/bin/bash -x
A=1
B=2
if [ A==B ];then
echo "B"=$B
else
echo "A="$A
fi
输出B=2
在shell中字符串与数值的比较方法不同
1、整数比较:
等于 -eq
或 =
#!/bin/bash -x
if [ 5 = 3 ] ;then
echo "A"
else
echo "B"
fi
#output:B
if [ 3 -eq 3 ] ;then
echo "A"
else
echo "B"
fi
#output:A
不等于 -ne
或 <>
#!/bin/bash -x
if [ 5 <> 3 ] ;then
echo "A"
else
echo "B"
fi
#output:A
if [ 3 -ne 3 ] ;then
echo "A"
else
echo "B"
fi
#output:B
大于 -gt
或 >
#!/bin/bash -x
if (( 5 > 3 )) ;then
echo "A"
else
echo "B"
fi
#output:A
if [ 3 -gt 3 ] ;then
echo "A"
else
echo "B"
fi
#output:B
大于等于 -ge
或 >=
#!/bin/bash -x
if (( 3 >= 5 ));then
echo "A"
else
echo "B"
fi
#output:B
if [ 3 -ge 3 ] ;then
echo "A"
else
echo "B"
fi
#output:A
小于 -lt
或 <
#!/bin/bash -x
if (( 3 < 5 ));then
echo "A"
else
echo "B"
fi
#output:A
if [ 3 -lt 3 ] ;then
echo "A"
else
echo "B"
fi
#output:B
小于等于 -le
或 <=
#!/bin/bash -x
if (( 5 <= 3 ));then
echo "A"
else
echo "B"
fi
#output:B
if [ 3 -le 3 ] ;then
echo "A"
else
echo "B"
fi
#output:A
2、字符串比较:
等于=
或 ==
#!/bin/bash -x
if [ "A" = "B" ] ;then
echo "A"
else
echo "B"
fi
#output:B
if [ "A" = "A" ] ;then
echo "A"
else
echo "B"
fi
#output:A
if [ "A" == "B" ] ;then
echo "A"
else
echo "B"
fi
#output:B
if [ "A" == "A" ] ;then
echo "A"
else
echo "B"
fi
#output:A
不等于 !=
#!/bin/bash -x
if [ "A" != "B" ] ;then
echo "A"
else
echo "B"
fi
#output:A
if [ "A" != "A" ] ;then
echo "A"
else
echo "B"
fi
#output:B
空串 -z
#!/bin/bash -x
if [ -z "A" ] ;then
echo "A"
else
echo "B"
fi
#output:B
if [ -z "" ] ;then
echo "A"
else
echo "B"
fi
#output:A
非空串 -n
#!/bin/bash -x
if [ -n "A" ] ;then
echo "A"
else
echo "B"
fi
#output:A
if [ -n "" ] ;then
echo "A"
else
echo "B"
fi
#output:B