码迷,mamicode.com
首页 > 系统相关 > 详细

shell 算术运算符

时间:2019-06-28 23:00:02      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:大于   表达式   string   通过   之间   其他   ng2   目录   border   

 在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 算术运算符

标签:大于   表达式   string   通过   之间   其他   ng2   目录   border   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!