Linux Shell数学运算与条件测试

发布时间:2024年01月07日
一、Shell数学运算

1.Shell常见的算术运算符号

序号算术运算符号意义
1+、-、*、/、%加、减、乘、除、取余
2**幂运算
3++、–自增或自减
4&&、||、!与、或、非
5==、!=相等、不相等,==也可写成=
6=、+=、-=、*=、/=、%=赋值运算符,a+=1相等于a=a+1

2.Shell常用算术运算命令

序号算术运算命令意义
1(())、let、$[]用于整数运算
2expr可用于整数运算,还有其他功能
3awk、bc可用于整数运算,也可用于小数运算

3.实例测试:

在这里插入图片描述

二、Shell条件测试

1.条件测试常用的语法

序号条件测试语意义
1test <测试表达式>这是利用test命令进行条件测试表达式的方法,test命令和“<测试表达式>”之间至少有一个空格。
2[ <测试表达式> ][ ]的边界和内容之间至少有一个空格。

2.test条件测试

常用文件类型、文件权限、文件比较、整数比较、字符串判断和逻辑判断。

序号参数意义
1-e判断文件(普通文件或目录文件)是否存在
2-f判断普通文件是否存在
3-d判断目录文件是否存在
4-r判断文件是否有读权限
5-w判断文件是否有写权限
6-x判断文件是否有执行权限
7-nttest file1 -nt file2,判断file1是否比file2新
8-ottest file1 -ot file2,判断file1是否比file2旧
9-eftest file1 -ef file2,判断file1和file2是否同一文件
10-eq判断两个整数是否相等
11-ne判断两个整数是否不相等
12-gttest n1 -gt n2,判断整数1是否大于整数2
13-lttest n1 -lt n2,判断整数1是否小于整数2
14-getest n1 -ge n2,判断整数1是否大于等于整数2
15-letest n1 -le n2,判断整数1是否小于等于整数2
16-z判断字符串是否为0?若字符串为空字符串,则为真,否则反
17-n判断字符串是否为非0?若字符串为非空字符串,则为真,否则反
18==判断两个字符串是否相等
19!=判断两个字符串是否不相等
20&&或-a逻辑与,两端都为真,则为真
21||或-o逻辑或,两端其中一端为真,则为真
22逻辑非,取反

在这里插入图片描述

3.中括号[ ]的条件测试

在脚本中经常进行条件测试,用的最多的是中括号[ ],功能与test一样,中括号与内容两边必须有空格,在条件测试中使用变量必须添加双引号,例如:[ -n "$str" ]

在这里插入图片描述


文章来源:https://blog.csdn.net/u013541325/article/details/135435416
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。