首页 > 系统相关 >Linux Shell数学运算与条件测试

Linux Shell数学运算与条件测试

时间:2024-01-07 10:35:24浏览次数:35  
标签:Shell 运算 是否 整数 字符串 判断 Linux test

一、Shell数学运算

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

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

2.Shell常用算术运算命令

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

3.实例测试:

2024-01-06_linux_shell_01.png

二、Shell条件测试

1.条件测试常用的语法

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

2.test条件测试

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

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

2024-01-06_linux_shell_02.png

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

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

2024-01-06_linux_shell_03.png


标签:Shell,运算,是否,整数,字符串,判断,Linux,test
From: https://blog.51cto.com/datutu/9131050

相关文章

  • Supershell防溯源反制配置
    简介项目地址:https://github.com/tdragon6/SupershellSupershell是一个集成了reverse_ssh服务的WEB管理平台,使用docker一键部署(快速构建),支持团队协作进行C2远程控制,通过在目标主机上建立反向SSH隧道,获取真正的完全交互式Shell,同时支持多平台架构的客户端Payload,客户端Payload的......
  • Linux软件安装
    软件安装应用程序概述1.应用程序与系统命令的关系文件位置系统命令:一般在/bin和/sbin目录中,或为shell内部指令应用程序:通常在/usr/bin/和/usr/sbin目录中主要用途系统命令:完成对系统的基本管理工作,例如IP配置工具应用程序:完成相应对独立的其他辅助任务,例如网页浏览器适用环境系......
  • Linux Debian12系统gnome桌面环境默认截屏截图工具gnome-screenshot
    一、简介:在Debian12中系统gnome桌面环境默认提供一个截图捕获工具screenshot,可以自定义区域截图、屏幕截图、窗口截图和录制视频,截图默认保存在“~/图片/截图”路径下。可以在应用程序中搜索screenshot,如下图:也可以在桌面右上角找到screenshot截图工具,如下图:二、快捷键截......
  • 运算符2
    自增自减赋值运算符关系运算符逻辑运算符短路运算符三元运算符......
  • 运算符
    强制转换数据会出错,byte在-128~127<200......
  • Linux软件安装(Ⅲ)
    软件安装1.检查你的Linux系统是否可以上网,如果不能上网,配置使其能够上网[root@test-server~]#ping8.8.8.8PING8.8.8.8(8.8.8.8)56(84)bytesofdata.64bytesfrom8.8.8.8:icmp_seq=1ttl=128time=203ms64bytesfrom8.8.8.8:icmp_seq=2ttl=128time=207ms64by......
  • Python flask 网页版执行shell命令并返回结果['GET', 'POST'] 混合方式
    前言全局说明Pythonflask网页版执行shell命令并返回结果一、需要安装的库pip3installflask-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.compip3installsubprocess-ihttp://pypi.douban.com/simple/--trusted-hostpypi.douban.com二、inde......
  • linux下LVM逻辑卷的建立、扩容和缩容
    ---------建立逻辑卷---------1.新建2个分区,sda5 5G,sd610G,完成之后如下[root@yangcan/]#fdisk-lDisk/dev/sda:42.9GB,42949672960bytes255heads,63sectors/track,5221cylindersUnits=cylindersof16065*512=8225280bytesSectorsize(logical/physical......
  • Linux核心组件(CPU,内存,磁盘,网络,进程)
    一、CPU不同组件,每秒的运算、读写次数命令集:lscpu+top/htop/uptime+mpstat+sar#查看CPU静态信息cat/proc/cpuinfo#查看CPU统计信息lscpu uptimeLoadAverage(平均负载):就是一段时间内(1分钟、5分钟、15分钟)内平均Load翻译:一段时间内正在使用和等待使用CPU的平均进程......
  • Linux系统中的并行压缩软件gzip
    pigz简介pigz是GZip的并行版(pigz,即 Parallel Implementationof GZip),作者为MarkAdler。它充分利用了现代多核处理器的性能,大幅提高压缩解压的速度。pigz主页pigz-manual-手册页pigz-GitHub安装对于Ubuntu:sudoaptinstallpigz对于Centos:sudoyum-yinstall......