首页 > 系统服务 > 详细

shell 算术运算符

时间:2019-06-29 00:25:26      阅读:131      评论:0      收藏:0      [点我收藏+]

 在shell中可以使用$((expression))来实现整数级的算术运算功能(整数级!浮点需要通过其他方法实现)

表达式 含  义
$((x+y)) 加法
$((x-y)) 减法
$((x/y)) 除法$((8/3))=2
$((x*y)) 乘法
$((x%y)) 取余
$((x++)) 自加
$((x--)) 自减
$((x**y)) 幂运算

除了使用$((expression)) 还可以使用 命令工具expr

[root@VM_0_3_centos ~]# expr 5 - 2  #减法
3
[root@VM_0_3_centos ~]# expr 5 + 2 # 加法
7
[root@VM_0_3_centos ~]# expr 5 \* 2 # 乘法
10
[root@VM_0_3_centos ~]# expr 5 / 2 # 除法
2
[root@VM_0_3_centos ~]# expr 5 % 2 # 取余
1

注意:数字与运算法之间通过空格隔开,否则输出为

[root@VM_0_3_centos ~]# expr arg_1-arg_2
arg_1-arg_2

 

shell除了提供算术表达式外,还提供了一些判断功能。通过内置的test命令即可实现

测试选项 含义 测试选项 含义
-d FILE FILE是否存在且为目录 -e FILE 文件是否存在
-f FILE FILE是否存在且为普通文件 -r FILE 文件是否存在且可读
-w FILE FILE是否存在且为可写 -x FILE 文件是否存在且可执行
-s FILE FILE是否存在且为非空 -h FILE 文件是否为链接文件
-n STRING 字符串的长度为非零 -z STRING 字符串的长度为零
STRING1 = STRING2 字符串相等 STRING1 = STRING2  
INTER1 -eq INTER2 整数相等 INTER1 -ge INTER2 整数大于或等于整数2
INTER1 -gt INTER2 整数1大于整数2 INTER1 -le INTER2 整数小于或等于整数2
INTER1 -lt INTER2 整数1小于整数2 INTER1 -ne INTER2 整数1不等于整数2

例子:

[root@VM_0_3_centos etc]# cd /root
[root@VM_0_3_centos ~]# mkdir huangwei
[root@VM_0_3_centos ~]# cd huangwei
[root@VM_0_3_centos huangwei]# touch huangwei.txt
[root@VM_0_3_centos huangwei]# ls
huangwei.txt
[root@VM_0_3_centos huangwei]# test -d huangwei.txt && echo "Y" || echo "N"
N
[root@VM_0_3_centos huangwei]# test -f huangwei.txt && echo "Y" || echo "N"
Y
[root@VM_0_3_centos huangwei]# [22 -eq 23] && echo "Y" || echo "Y"
Y

 

shell 算术运算符

原文:https://www.cnblogs.com/icase/p/11104999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!