加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell 运算符

发布时间:2020-12-15 21:13:57 所属栏目:安全 来源:网络整理
导读:字符串运算符 ?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例????????????? $ 检测字符串是否为空,不为空返回true [ $a ] ?-z 检测字符串

字符串运算符

?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例?????????????
$ 检测字符串是否为空,不为空返回true [ $a ]
?-z 检测字符串长度是否为0,为0返回 true [ -z $a ]
?-n 检测字符串长度是否为0,不为0 返回 true [ -n $a ]

?

?

?

?

字符串关系运算符

?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例?????????????
?= 或 == 检测两个字符串是否相等,相等返回 true [ $a = $b ]
?!= 检测两个字符串是否相等,不相等返回true [ $a != $b ]

?

?

?

?

  需要注意的一点是

#! /bin/bash

a=    # a=" " 时现象一致

# 判断是否为空
if [ $a ]
then
    echo "a is not null"
else
    echo "a is null"
fi

# 判断字符串长度是否为 0
if [ -z $a ]
then
    echo "a is zero"
fi

if [ -n $a ]
then
    echo "a is not zero"
fi 

  执行

$ ./demo.sh 
a is null
a is zero
a is not zero

  也就是说,只有当 字符串不为空的时候,判断字符串长度才有意义。

算数运算符

假定 a 为 20, b 为 10

?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例?????????????
?+ ?加法 `expr $a + $b` 结果为?30
?- ?减法 `expr $a - $b` 结果为 10
?* ?乘法 `expr $a * $b` 结果为 ?200
?/ ?除法 `expr $b / $a` 结果为? 2
?% ?取余 `expr $b % $a` 结果为?0

?

?

?

?

?

?

?

数字关系运算符

假定 a 为 10, b 为 20

?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例?????????????
?-eq 检测两个数是否相等,相等返回 true。 [ $a -eq $b ] 返回?false
?-ne 检测两个数是否不相等,不相等返回 true。 [ $a -ne $b ] 返回 true
?-gt 检测左边的数是否大于右边的,如果是,则返回 true。 [ $a -gt $b ] 返回 false
?-lt 检测左边的数是否小于右边的,如果是,则返回 true。 [ $a -lt $b ] 返回 true
?-ge 检测左边的数是否大于等于右边的,如果是,则返回 true。 [ $a -ge $b ] 返回 false
?-le 检测左边的数是否小于等于右边的,如果是,则返回 true。 [ $a -le $b ] 返回 true

?

?

?

?

?

?

?

?

逻辑运算符

?运算符??????? 说明 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 举例?????????????
?! 检测两个字符串是否相等,相等返回 true ?
?&& 或 -a 检测两个字符串是否相等,不相等返回true ?
?|| 或 -o 检测字符串长度是否为0,为0返回 true

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读