shell中的运算符

【参考】菜鸟教程Linux中编写Shell脚本linux 的基本操作(编写shell 脚本)

shell中常见的算术运算符

                                 

 

 

 

shell中常见的算术运算命令

                                 

 

(()) 的作用是进行数值运算与数值比较,它的效率很高,用法灵活,是Linux下常用的运算操作符。其操作方法如下:

                                  

 

let运算命令的语法格式为: let 赋值表达式 。let 赋值表达式的功能等同于“((赋值表达式))” 范例:  给变量 i 加8

let i = i + 8

expr可用于运算也可用于计算字符串长度

#直接加表达式 
expr 2 + 2 
#可以配合变量进行计算,但外层需要添加反引号 
i=`expr &i + 5` 
#求字符串的长度 
str="hello" 
expr length "$str"

test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。

bc是linux下的一个计算器

[]符号也可用于算术运算

i=$[2+3] echo $i

文件操作测试符

常用文件测试操作符及其全拼

说明

-d   (directory)

文件存在且为目录则为真

-f    (file)

文件存在且为文件则为真

-e (exists)

文件存在则为真

-s (size)

文件存在且大小不为0则为真

-r (read)

文件存在且可读则为真

-w (write)

文件存在且可写则为真

-x (executable)

文件存在且可执行则为真

-L (link)

文件存在且为链接文件则为真

f1 -nt  f2  (newer than)

文件f1比文件f2新则为真

f1 -ot f2 (older than)

文件f1比文件f2旧则为真

字符串操作符

常用字符串测试操作符

说明

-n  

若字符串长度不为0,则为真

-z

若字符串长度为0,则为真

“字符串1”  ==  “字符串2”

若字符串1等于字符串2,则为真

“字符串1”  !=  “字符串2”

若字符串1不等于字符串2,则为真

整数二元比较操作符

在[]以及test中使用的比较符号

在(())和[[]]中使用的比较符号

说明

-eq

== 或 =

相等,全拼为  equal

-ne

!=

不相等,全拼为 not equal

-gt

>

大于,全拼为 greater than

-ge

>=

大于等于,全拼为 greater equal

-lt

 

小于,全拼为 less than

-le

 

小于等于 ,全拼为less equal

逻辑操作符

在[]和test中使用的操作符

在[[]]和(())中使用的操作符

说明

-a

&&

and ,与,两端都为真,才为真

-o

||

or ,或, 两端有一个为真,就为真

!

!

not ,非, 两端相反,则结果为真

操作符之间的区别

测试表达式符号

test

[]

[[]]

(())

边界是否需要空格

需要

需要

需要

不需要

逻辑操作符

! 、-a、 -o

! 、-a、 -o

! 、&& 、 ||

! 、&& 、 ||

整数比较操作符

-eq 、 -gt 、-lt、-ge 、-le

-eq 、 -gt 、-lt、-ge 、-le

-eq 、 -gt 、-lt、-ge 、-le 或  = 、>  、< 、 >= 、

= 、>  、< 、 >= 、

字符串比较操作符

= 、 == 、!=

= 、 == 、!=

= 、 == 、!=

不支持

文件操作

-d、-f、-e、-r、-s、-w、-x、-L、

-nt、-ot

-d、-f、-e、-r、-s、-w、-x、

-L、-nt、-ot

-d、-f、-e、-r、-s、-w、-x、-L、-nt、-ot

不支持

是否支持通配符匹配

不支持

不支持

支持

不支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我要出家当道士

打赏是不可能,这辈子都不可能

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值