Linux Shell数学运算与条件测试

一、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" ]

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/602888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Standard 支持的 .NET Framework 和 .NET Core

.NET Standard 是针对多个 .NET 实现推出的一套正式的 .NET API 规范。 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性。 .NET 5 及更高版本采用不同的方法来建立一致性&#xff0c;这种方法在大多数情况下都不需要 .NET Standard。 但如果要在 .NET Framewo…

QT 高DPI解决方案

一、根据DPI实现动态调整控件大小&#xff08;三种方式&#xff09; 1、QT支持高DPI&#xff08;针对整个进程中所有的UI&#xff09; // main函数中 QApplication::setAttribute(Qt::AA_EnableHighDpiScaling)tips&#xff1a;&#xff08;1&#xff09;如果不想全局设置&am…

Nodejs搭配axios下载图片

新建一个文件夹&#xff0c;npm i axios 实测发现只需保留node_modules文件夹&#xff0c;删除package.json不影响使用 1.纯下载图片 其实该方法不仅可以下载图片&#xff0c;其他的文件都可以下载 const axios require(axios) const fs require(fs) var arrPic [https:…

最大输出 18W,集成 Type-C PD 输出和各种快充输出协议

一、产品简介 IP6510是一款集成同步开关的降压转换器、支持 9 种输出快充协议、支持 Type-C 输出和 USB PD协议&#xff0c;为车载充电器、快充适配器、智能排插提供完整的解决方案。 IP6510 内置功率 MOS&#xff0c;输入电压范围是 4.5V到 32V&#xff0c;输出电压范围是 3…

案例101:基于微信小程序的停车共享管理系统设计与实现

文末获取源码 开发语言&#xff1a;Java 框架&#xff1a;SSM JDK版本&#xff1a;JDK1.8 数据库&#xff1a;mysql 5.7 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序开发软件&#xff1a;HBuilder X 小程序…

一个命令查看linux系统是Centos还是Ubuntu

目 录 一、 背景介绍 二、一个命令查看linux系统的简单方法 1、 uname -a 2、cat /etc/issue 3、lsb_release -a 4、 dmesg | grep Ubuntu 一、 背景介绍 Linux 系统基本上分为两大类&#xff1a; 1. Red Hat 系列&#xff1a;包括 Red Ha…

使用pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集

superpoint与superglue的组合可以实现基于深度学习的图像配准,官方发布的superpoint与superglue模型均基于coco数据训练,与业务中的实际数据或许存在差距,为此实现基于开源的pytorch-superpoint与pytorch-superglue项目实现训练自己的数据集。然而,在训练pytorch-superpoin…

电缆线标书:打造高质量工程的关键一步

电缆线标书制作是工程项目中至关重要的一环&#xff0c;它不仅仅是一份文件&#xff0c;更是对工程质量和实施过程的全面规划和控制。在电缆线标书中&#xff0c;涉及到的内容十分丰富&#xff0c;包括但不限于工程概况、技术要求、材料清单、施工方案、质量控制等多个方面。 …

【LMM 012】TinyGPT-V:24G显存训练,8G显存推理的高效多模态大模型

论文标题&#xff1a;TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones 论文作者&#xff1a;Zhengqing Yuan, Zhaoxu Li, Lichao Sun 作者单位&#xff1a;Anhui Polytechnic University, Nanyang Technological University, Lehigh University 论文…

AI:118-基于深度学习的法庭口译实时翻译

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的关键代码,详细讲解供…

VMware中删除虚拟机

虚拟机使用完成后&#xff0c;需要删除虚拟机如何操作呢&#xff1f; 1.首先进入VMware 2.选择需要删除的虚拟机&#xff0c;点击右键 3.直接选择“移除”&#xff1f; 当然不是&#xff0c;这只是从这么目录显示中去掉了&#xff0c;并非 “真正” 删除该虚拟机 注意&#x…

正交投影矩阵与透视投影矩阵的推导

正交投影矩阵 正交投影矩阵的视锥体是一个长方体 [ l , r ] [ b , t ] [ f , n ] [l,r][b,t][f,n] [l,r][b,t][f,n]&#xff0c;我们要把这个长方体转换到一个正方体 [ − 1 , 1 ] [ − 1 , 1 ] [ − 1 , 1 ] [-1,1][-1,1][-1,1] [−1,1][−1,1][−1,1]中&#xff0c;如下图所…

机器学习--ROC AUC

参考 机器学习-ROC曲线 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/347470776一文看懂ROC、AUC - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/81202617 在了解之前&#xff0c;我们先来认识一下以下的概念 针对一个二分类问题&#xff0c;将实例分成正类(postive)或…

常见算法(JavaScript版)

持续更新中… 目录 排序冒泡排序选择排序插入排序希尔排序快速排序&#xff08;必须掌握&#xff09;优化枢纽选择 堆排序归并排序 查找算法二分查找 排序 假设以下所有排序都是升序 快速排序在大部分情况下是效率最高的&#xff0c;所以笔试的时候要求写排序算法&#xff0…

SSR 服务器端渲染:提升用户体验的新趋势(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

Java学习,一文掌握Java之SpringBoot框架学习文集(5)

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

物联网的感知层、网络层与应用层分享

物联网的概念在很早以前就已经被提出&#xff0c;20世纪末期在美国召开的移动计算和网络国际会议就已经提出了物联网(Internet of Things)这个概念。 最先提出这个概念的是MIT Auto-ID中心的Ashton教授&#xff0c;他在研究RFID技术时&#xff0c;便提出了结合物品编码、互联网…

CMU15-445-Spring-2023-Project #1 - Buffer Pool

前置知识&#xff0c;参考上一篇博客&#xff1a;CMU15-445-Spring-2023-Project #1 - 前置知识&#xff08;lec01-06&#xff09; 在存储管理器中实现缓冲池。缓冲池负责将物理页从主内存来回移动到磁盘。它允许 DBMS 支持大于系统可用内存量的数据库。缓冲池的操作对系统中的…

常用的窗体控件

常用窗体控件 MenuStrip&#xff1a;一个标准的菜单栏控件&#xff0c;可以添加菜单单项和子菜单项 //双击子菜单项同样可以添加点击事件 //menu&#xff1a;菜单 item&#xff1a;菜单选项 //当点击新建选项的时候触发的事件 private void 新建ToolStripMenuItem_Click(ob…

QT+OSG/osgEarth编译之五十八:OpenEXRUtil+Qt编译(一套代码、一套框架,跨平台编译,版本:OpenEXRUtil-3.2.1)

Qt+OSG/osgEarth跨平台编译(用Qt Creator组装各个库,实现一套代码、一套框架,跨平台编译)_qt + osgearth安装-CSDN博客 目录 1、OpenEXRUtil介绍 2、文件下载 3、文件分析