shell 算术运算符
Posted icase
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 算术运算符相关的知识,希望对你有一定的参考价值。
在shell中可以使用$((expression))来实现整数级的算术运算功能(整数级!浮点需要通过其他方法实现)
表达式 | 含 义 |
$((x+y)) | 加法 |
$((x-y)) | 减法 |
$((x/y)) | 除法$((8/3))=2 |
$((x*y)) | 乘法 |
$((x%y)) | 取余 |
$((x++)) | 自加 |
$((x--)) | 自减 |
$((x**y)) | 幂运算 |
除了使用$((expression)) 还可以使用 命令工具expr
[[email protected]_0_3_centos ~]# expr 5 - 2 #减法 3 [[email protected]_0_3_centos ~]# expr 5 + 2 # 加法 7 [[email protected]_0_3_centos ~]# expr 5 \* 2 # 乘法 10 [[email protected]_0_3_centos ~]# expr 5 / 2 # 除法 2 [[email protected]_0_3_centos ~]# expr 5 % 2 # 取余 1
注意:数字与运算法之间通过空格隔开,否则输出为
[[email protected]_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 |
例子:
[[email protected]_0_3_centos etc]# cd /root [[email protected]_0_3_centos ~]# mkdir huangwei [[email protected]_0_3_centos ~]# cd huangwei [[email protected]_0_3_centos huangwei]# touch huangwei.txt [[email protected]_0_3_centos huangwei]# ls huangwei.txt [[email protected]_0_3_centos huangwei]# test -d huangwei.txt && echo "Y" || echo "N" N [[email protected]_0_3_centos huangwei]# test -f huangwei.txt && echo "Y" || echo "N" Y [[email protected]_0_3_centos huangwei]# [22 -eq 23] && echo "Y" || echo "Y" Y
以上是关于shell 算术运算符的主要内容,如果未能解决你的问题,请参考以下文章