shell中的运算符

 

  1. 算术运算需要借助expr
echo `expr $a + $b` 

其中+两遍需要有空格,且exp语句需要用反引号隔开,乘法需要反斜杠

echo `expr $a \* $b`
  1. 关系运算符
运算符含义
eqequal
neno equal
gt大于
lt小于
ge大于等于
le小于等于

for example:

a=10
b=20
if [ $a -lt $b ];then
    echo "a 大于 b"
fi
  1. 布尔运算符
运算符含义
!
o
a

for example:

    a=10
    b=20
    if [ ! $a == $b ];then
        echo "a和b不相等"
    fi
    if [ $a ==10 -a $b == 20 ];then
        echo "a 等于10 且 b 等于 20"
    fi

或者

if [ $a -eq 10 -a $b -eq 20 ];then
    echo "a 等于10 且 b 等于 20"
fi
  1. 逻辑运算符
运算符含义
&&逻辑与
||逻辑或

for example:

a=10
b=20
if [[ $a -gt 5 && $b -lt 30]];then
    echo "a 大于 5 且 b 小于 30"
fi    

用法跟关系运算符中的-a-o差不多

  1. 字符串运算符
运算符含义
=检查字符串是否相等
!=是否不相等
-z检测字符串长度是否为0
-n检测字符串长度是否不为0
str检测字符串长度是否为空

for example

a="abc"
b="def"
if [ $a != $b ];then
    echo "a 和 b 不相等"
fi
if [ -n $a ];then
    echo "a的值不为0"
fi
  1. 文件测试运算符
运算符含义
-b块设备文件
-c字符设备文件
-d目录
-f普通文件
-gSGID位
-k设置了粘着位
-p名管道
-uSUID位
-r可读
-w可写
-x可执行
-s
-e是否存在
file="/home/gyh/learn_sh/test2.sh"

if [ -r $file ];then
    echo "文件可读"
else
    echo "文件不可读"
fi
if [ -w $file ];then
    echo "文件可写"
else
    echo "文件不可写"
fi
if [ -x $file ];then
    echo "文件可执行"
else
    echo "文件不可执行"
fi
if [ -f $file ];then
    echo "文件为普通文件"
else
    echo "文件不为普通文件"
fi
if [ -s $file ];then
    echo "文件不为空"
else
    echo "文件为空"
fi
if [ -e $file ];then
    echo "文件存在"
else
    echo "文件不存在"
fi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值