shell 运算符

Posted rivsidn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 运算符相关的知识,希望对你有一定的参考价值。

字符串运算符

 运算符        说明                                                                                                                                  举例             
$ 检测字符串是否为空,不为空返回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  

以上是关于shell 运算符的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

shell 脚本 片段