shell 算术运算符

本文详细介绍了在Shell脚本中进行整数级算术运算的方法,包括加、减、乘、除、取余等操作,并展示了如何使用$((expression))和expr命令。此外,还讲解了Shell内置的test命令,用于进行文件属性和字符串、整数的比较判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在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 FILEFILE是否存在且为目录-e FILE文件是否存在
-f FILEFILE是否存在且为普通文件-r FILE文件是否存在且可读
-w FILEFILE是否存在且为可写-x FILE文件是否存在且可执行
-s FILEFILE是否存在且为非空-h FILE文件是否为链接文件
-n STRING字符串的长度为非零-z STRING字符串的长度为零
STRING1 = STRING2字符串相等STRING1 = STRING2 
INTER1 -eq INTER2整数相等INTER1 -ge INTER2整数大于或等于整数2
INTER1 -gt INTER2整数1大于整数2INTER1 -le INTER2整数小于或等于整数2
INTER1 -lt INTER2整数1小于整数2INTER1 -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

 

转载于:https://www.cnblogs.com/icase/p/11104999.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值