shell 变量的数值计算实践 expr

 

 

expr(evaluate(求值)expressions(表达式))命令既可以用于整数运算,也可以用于相关字符串长度、匹配等的运算处理

 

expr 用做计算

必须有一个空格才会计算

[root@salt-minion-192 sh1]# expr 1 + 1
2
[root@salt-minion-192 sh1]# expr 1 +   1
2

 

没有空格不计算

[root@salt-minion-192 sh1]# expr 1+1
1+1

 

有变量的计算

[root@salt-minion-192 sh1]# i=8
[root@salt-minion-192 sh1]# expr $i + 1
9

 

expr在Shell中可配合变量进行计算,但需要用反引号将计算表达式括起来。

 

[root@salt-minion-192 sh1]# i=5
[root@salt-minion-192 sh1]# e=`expr $i + 2`
[root@salt-minion-192 sh1]# echo $e
7

 

 

通过expr判断变量或字符串是否为整数

[root@salt-minion-192 sh1]# i=5

[root@salt-minion-192 sh1]# expr $i + 6 &>/dev/null  #<==把i和整数相加,&>/dev/null
                                                 表示不保留任何输出。
[root@salt-minion-192 sh1]# echo $?  #<==输出返回值。
0
[root@salt-minion-192 sh1]# i=mike
[root@salt-minion-192 sh1]# expr $i + 6 &>/dev/null  <==同样把i和整数相加,不保留任何输出。
[root@salt-minion-192 sh1]# echo $?
2  #<==返回为非0,则证明i的值不是整数,因为赋值的是mike

 

结论:利用expr做计算,将一个未知的变量和一个已知的整数相加,看返回值是否为0,

如果为0就认为做加法的变量为整数,否则就不是整数

 

利用expr计算字符串的长度

[root@salt-minion-192 sh1]# char="mike"
[root@salt-minion-192 sh1]# expr length "$char"  #<==利用expr的length函数计算字符
                                                  串长度。
4

 

转载于:https://www.cnblogs.com/mingerlcm/p/9743167.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值