关于shell中的字符串的比较与数值的比较
2012-12-15 14:50
267 查看
关于shell中的字符串的比较与数值的比较
二元比较操作符,比较变量或者比较数字.注意数字与字符串的区别1. 整数比较
(1)这个是shell的写法-eq 等于,如:if [ "$a" -eq "$b" ]
-ne 不等于,如:if [ "$a" -ne "$b" ]
-gt 大于,如:if [ "$a" -gt "$b" ]
-ge 大于等于,如:if [ "$a" -ge "$b" ]
-lt 小于,如:if [ "$a" -lt "$b" ]
-le 小于等于,如:if [ "$a" -le "$b" ]
(2)也可以采用内嵌C的写法(但是所有内嵌C的写法都要加上"((
))")
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
2.字符串比较
= 等于,如:if [ "$a" = "$b" ]== 等于,如:if [ "$a" == "$b" ],与=等价
注意:==的功能在[[]]和[]中的行为是不同的,如下:
1. [[ $a == z* ]] #如果$a以“z”开头(模式匹配),那么将为true
2. [[ $a == "z*" ]] #如果$a等于z*(字符匹配) , 那么将为true
!= 不等于,如:if [ "$a" != "$b" ] 这个操作符将在[[ ]] 中使用模式匹配
< 小于,在ASCII字母顺序下,如:
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]],注意:在[ ]结构中“<”需要被转义
> 大于,在ASCII字母顺序下,如:
如上
-z 字符串为“null”,就是长度为0
-n 字符串不是"null"
注意: 在使用 -n 在[ ] 结构中测试必须要用“把变量引起来,使用一个未被”的字符串来使用!-z
或者就是未用""引用的字符串本身,放到[]结构中。虽然一般情况下可
以工作,但这是不安全的.习惯于使用""来测试字符串是一种好习惯.
相关文章推荐
- Shell数值、字符串比较
- 第3章 shell结构化命令------------(shell的数值比较、shell的字符串比较、shell的文件比较、shell的条件组合操作)
- shell 数值 字符串比较
- shell比较大小数值字符串
- shell数值、字符串比较的运算符区别
- shell的逻辑运算符 探测文件类型 比较数值、字符串等
- shell 下数值、字符串比较
- Shell数值及字符串比较
- Shell中字符串、数值的比较
- Shell中字符串、数值的比较
- Shell数值、字符串比较
- Shell数值、字符串比较
- Shell中字符串、数值的比较
- Shell中字符串、数值的比较
- Shell中字符串、数值的比较
- Shell中字符串、数值的比较
- 【shell】shell的数值比较和字符串比较
- Shell数值、字符串比较
- Shell中字符串、数值的比较
- Shell中字符串、数值的比较