linux shell编程之——if语句

Linux Shell中的if语句用法及示例 在上述示例中,我们演示了if语句的一些常见用法。根据实际需求,可以根据不同的条件编写更加复杂的if语句。通过灵活运用if语句,你可以根据不同的条件执行不同的操作,提高Shell脚本的逻辑性和灵活性。if语句是在Linux Shell编程中常用的条件语句之一,用于根据条件的真假执行不同的命令或代码块。在if语句中,条件可以是各种比较操作符、文件测试操作符或逻辑操作符的组合。根据条件的真假,Shell会执行相应的代码块。需要注意的是,在Shell脚本中,条件的判断需要使用方括号。10 小于等于 20。 阅读详情
一、语句格式


一行中的写法:if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi
多行的写法:
if  条件
then
 Command
else
 Command
fi 


基本语法记住亮点:
1、按照汉语的方式记忆:如果(if)xxx那么(then)就xxx,否则(else)就xxx
2、记住要使用fi作为结束


记住上述两点,基本上就可以掌握if的基本语法了。


二、表达式


Primary 意义
[ -a FILE ] 如果 FILE 存在则为真。
[ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。
[ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。
[ -d FILE ] 如果 FILE 存在且是一个目录则为真。
[ -e FILE ] 如果 FILE 存在则为真。
[ -f FILE ] 如果 FILE 存在且是一个普通文件则为真。
[ -g FILE ] 如果 FILE 存在且已经设置了SGID则为真。
[ -h FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -k FILE ] 如果 FILE 存在且已经设置了粘制位则为真。
[ -p FILE ] 如果 FILE 存在且是一个名字管道(F如果O)则为真。
[ -r FILE ] 如果 FILE 存在且是可读的则为真。
[ -s FILE ] 如果 FILE 存在且大小不为0则为真。
[ -t FD ] 如果文件描述符 FD 打开且指向一个终端则为真。
[ -u FILE ] 如果 FILE 存在且设置了SUID (set user ID)则为真。
[ -w FILE ] 如果 FILE 如果 FILE 存在且是可写的则为真。
[ -x FILE ] 如果 FILE 存在且是可执行的则为真。
[ -O FILE ] 如果 FILE 存在且属有效用户ID则为真。
[ -G FILE ] 如果 FILE 存在且属有效用户组则为真。
[ -L FILE ] 如果 FILE 存在且是一个符号连接则为真。
[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read则为真。
[ -S FILE ] 如果 FILE 存在且是一个套接字则为真。
[ FILE1 -nt FILE2 ] 如果 FILE1 has been changed more recently than FILE2, or 如果 FILE1FILE2 does not则为真。 exists and
[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在则为真。
[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的设备和节点号则为真。
[ -o OPTIONNAME ] 如果 shell选项 “OPTIONNAME” 开启则为真。
[ -z STRING ] “STRING” 的长度为零则为真。
[ -n STRING ] or [ STRING ] “STRING” 的长度为非零 non-zero则为真。
[ STRING1 == STRING2 ] 如果2个字符串相同。 “=” may be used instead of “==” for strict POSIX compliance则为真。
[ STRING1 != STRING2 ] 如果字符串不相等则为真。
[ STRING1 < STRING2 ] 如果 “STRING1” sorts before “STRING2” lexicographically in the current locale则为真。
[ STRING1 > STRING2 ] 如果 “STRING1” sorts after “STRING2” lexicographically in the current locale则为真。
[ ARG1 OP ARG2 ] “OP” is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if “ARG1” is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to “ARG2”, respectively. “ARG1” and “ARG2” are integers.
表达式可以借以下操作符组合起来,以降序列出:listed in decreasing order of precedence:




表达式中如果使用 -a 那么就是and -o就是or



MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧) 本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。 阅读详情

相关推荐

嵌入式SD/TF卡通用协议-SDIO协议

为了驱动SD卡,首先的第一步就是观察SD卡引脚接线情况,通常我们在画原理图时,都是使用的SD卡卡槽与MCU进行接线。SD卡可以使用SDIO协议和SPI协议进行通信,这里我们主要介绍SDIO协议。下图中的TF卡只是容量小一点的SD卡。以F1C100S为例,接线图如下所示:我们发现上图中的TF卡使用的协议为SDIO协议,主要有4根数据线,1根命令线,1根时钟线组合而成。为了驱动这个SD/TF卡我们就需要去了解SDIO协议的时序。

qq_1033275663的博客 3050

【Linux基础及shell脚本】if流程控制语句

本博客详细介绍了Shell脚本中if及if-else流程控制语句的使用。首先,我们探讨了if语句的基本语法,以及如何处理单个和多个条件。接着,我们讨论了if-else语句,展示了如何用它处理各种条件。最后,我们通过10个实际示例,包含从基本到高级的不同场景,让读者更好地理解和应用这些语句。无论您是刚接触Shell脚本的新手,还是希望进一步提升技能的开发者,都能在此找到有价值的内容。

Ricky的博客 9350

台达伺服B3驱动器参数的设定和CN1的接法

3. B2的电子齿轮比是直接设定P1-44(分子)和P1-45(分母)就就可以的,但是B3的有个隐藏的细节,就是P1-44的默认值77216不用去更改,这是官方客服说的,需要改的是P1-45这个参数,比如说,我使用的丝杆螺距是5mm的,那么就是以5000脉冲走完5mm为一圈,则就把P1-45设定为5000即可;我的是三菱FX3S系列的PLC,是NPN型的,输出点是24V-作为信号的,所以接41、37,具体可参考B3的。,跟着客服的讲解操作才解决的,以下就是解决方法,希望能够帮到需要的各位。

qq_38681017的博客 1万+

Shell基础(1)

[ -a FILE ] 如果 FILE 存在则为真。 [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真。 [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则为真。 [ -d FILE ] 如果 FILE 存在且是一个目录则为真。 [ -e FILE ] 如果 FILE 存在则为真。 [ -f FILE ] 如果 FILE 存在且是一个普通文...

1136

Android Camera Sensor HDR详解

本文详细介绍了Android相机传感器(Sensor)中实现高动态范围(HDR)采集的各种技术方式。主要内容包括: Sensor HDR技术分类 帧内HDR(Single-Frame HDR):在同一帧同一像素内完成多增益采集,无运动伪影和帧率损失,包括DAG(双模拟增益)、DCG(双转换增益)等技术 帧间HDR(Multi-Frame HDR):通过多帧曝光实现,如DOL(数字重叠)、Staggered HDR等 混合HDR:结合多种技术的复合方案 详细技术原理 重点解析了DAG和DCG两种主流帧内HDR

DU_YULIN的博客 358

移相变压器Simulink建模与HVDC系统仿真实践

移相变压器是电力电子领域实现精确相位调节的核心设备,其通过特殊绕组设计改变输出电压相位角,在解决环网潮流不均、阻尼功率振荡等场景具有关键作用。本文基于MATLAB/Simulink环境,详细解析移相变压器的建模原理与技术实现,包括磁路耦合特性模拟、参数计算方法和控制策略设计。针对HVDC高压直流输电和FACTS柔性交流输电系统等典型应用,提供仿真模型搭建技巧与问题排查指南,特别涵盖新能源并网场景下的相位调节优化方案。通过实测数据验证,所建模型在稳态精度和动态响应方面均满足工程要求,为电力系统稳定性分析提供有

weixin_28278377的博客 270

Linux_shell脚本if语句详细教程

在 Linux Shell 脚本中,if 语句用于基于条件执行命令或代码块。

檬柠wan 4783

微信小程序 - 最新详细实现跳转打开第三方网站方法流程及示例代码,在小程序内直接打开H5页面或微信公众号文章后台业务域名配置及下载校验文件上传服务器,嵌入外部网站跳转第三方h5网页(详细配置及代码)

微信小程序,打开第三方网站,放校验文件,怎么配置业务域名,后台配置,怎么打开外部没有关联的网站,小程序直接打开公众号文章,指定页面,跳转第三方url,跳转到外部网站,小程序跳转到任意外部网页,网站链接,跳转到其他网页(外部链接),小程序嵌入外部h5链接,校验文件怎么放到对方服务器上,要跳转到网站没权限放过去,校验文件验证域名,把校验文件放到对面网站,别人的服务器也打不开没权限怎么放呢,勾选不校验合法域名,txt,打不开别人的网页怎么办,真机调试打不开,无法跳转,有什么其他办法不放校验文件吗,别人不可能同意,

🏆 前端领域优质创作者 1万+

SHELL脚本之条件判断——if语句

如上图所示,当执行脚本出现在我们电脑屏幕上的信息对于我们来说,并无用处的时候,为了节省系统资源,保持系统性能,可以使用重定向符号将出现的内容交给/dev/null即系统中的黑洞文件中。如上图所示,这个内容的脚本在我们第一次执行的时候肯定没有问题但是当第二次执行的时候,肯定就会报错了。为了让脚本的执行更加符合人工作的逻辑。所以要加上条件判断。

ZHX2285的博客 4865

基于STM32、HAL库的ICP-20100气压传感器 驱动程序设计

它具有低功耗、高精度、快速响应等特点,非常适合物联网、可穿戴设备和无人机等应用。#define ICP20100_FIFO_CTRL 0x09 // FIFO控制寄存器。#define ICP20100_FIFO_DATA 0x0A // FIFO数据寄存器。#define ICP20100_FIFO_STS 0x0B // FIFO状态寄存器。#define ICP20100_FIFO_WTM 0x15 // FIFO水印设置。

corlin6688的博客 599

主题045:四足机器人的运动仿真

四足机器人(Quadruped Robot)是模仿哺乳动物四肢运动设计的机器人系统,具有优异的地形适应性和运动稳定性。与双足机器人相比,四足机器人在静态和动态稳定性方面具有天然优势,能够在复杂地形(如楼梯、斜坡、碎石地面)上稳定行走,因此在野外探索、救援任务、军事应用等领域具有广阔的应用前景。本教程将介绍四足机器人的运动学建模、步态规划、稳定性分析和控制策略,并通过Python仿真验证相关理论。典型的四足机器人每条腿包含3个关节:常见的腿部构型包括:对于单腿,足部位置 pfoot\mathbf{p}_{fo

kkchenjj的博客 679

Linux Shell 编程 条件判断语句(if)

在Linux Shell编程中,if语句是一种非常重要的控制结构,用于根据条件表达式的真假来决定是否执行某段代码。if语句使得程序可以根据不同的输入或环境变量,执行不同的操作,从而实现程序的灵活性和智能化。本文将详细介绍Linux Shell编程中if语句的相关知识。if语句是Linux Shell编程中的一种基本控制结构,它能够根据条件表达式的真假来决定执行哪些命令。通过合理使用if语句,我们可以编写出更加灵活和智能的Shell脚本。

2301_78809543的博客 1377

双目相机标定理论与编程实现

双目相机标定是计算机视觉中的重要任务,通过确定双目相机的内参和外参,可以实现立体视觉的深度感知和三维重建。通过使用OpenCV库提供的函数,我们可以方便地进行双目相机的标定工作。双目相机标定是计算机视觉中的重要任务,用于确定双目相机的内参和外参,以实现立体视觉的深度感知和三维重建。通过上述代码,我们可以获得左右相机的内参矩阵、畸变系数、旋转矩阵和平移矩阵等参数,从而完成双目相机的标定过程。使用双目相机采集一系列左右相机的图像,确保标定板在不同位置和角度下都能被双目相机拍摄到。函数来检测标定板的角点。

ByteKnight的博客 323

linux系统用if语句事例,详解Shell编程之if语句实战(小结)

对于if语句,其实很多人都肯定的听说过,那么if语句到底是什么,简单的说,就类似于汉语里面的如果----那么,if语句是linux运维人员在实际环境中使用的最频繁也是最重要的语句!!!一、if条件语句1、单分支语句结构第一种语法如下:if then指令fi第二种语法if ; then指令fi在以上这两种方式中我还是喜欢用第一种,这个是看个人习惯的。在上面的两个语法中可以是 test [] [[]]...

weixin_28883533的博客 1437

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux Shell 编程 IF条件语句

if (表达式) 语句1 else 语句2 fi 1、case 1 : 测试数字大小 #!/bin/bash #auto if test #by authors evila NUM1=100 NUM2=200 if(($NUM1 > $NUM2));then echo "This $NUM1 greater $NUM2 !" else echo "This $NUM2 greate...

La745739773的博客 1345

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Linux基础学习之Shell编程——流程控制语句——if语句

复习:if语句中,需要用到判断语句 test 或者 [  ] 最简单的实质类似的内容: [ -z /sh/student1.txt  ]  &amp;&amp; echo yes || echo no 1、单分支if条件语句 if [   条件判断式   ] ; then      程序 fi  或者用: if [   条件判断式  ]          then        ...

智欣约的博客 1508

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Linux网络——Shell编程之条件语句—if 、case

2.提示用户输入100米赛跑的秒数,要求判断秒数大于0且小于等于10秒的进入选拔赛,大于10秒的都淘汰,如果输入其它字符则提示重新输入;进入选拔赛的成员再进一步判断男女性别,男生进男生组,女生进女生组,如果输入错误请提示错误。1.提示用户输入内容,使用if 语句判断输入的内容是否为整数,再判断输入的内容是奇数还是偶数。格式1:[ 表达式1 ] 操作符 [ 表达式2 ]…语法:[ 整数1 操作符 整数2 ]语法:[ 操作符 文件或目录 ]格式2:命令1 操作符 命令2…格式2: [ 条件表达式 ]

weixin_67300995的博客 892

Linux shell脚本编程if语句的使用方法(条件判断)

Linux shell脚本编程if语句的使用方法,大家参考使用吧 if 语句格式 if  条件 then  Command else  Command fi        别忘了这个结尾 If语句忘了结尾fi test.sh: line 14: syntax error: unexpected end of fi     if 的三种条件表达式 if command

南方侯鸟 2029

linux shell编程语句if、case.

shell学习笔记--if,caseshell的控制流结构主要有if语句、for语句、case语句、while语句、until语句这五种,在shell中这些语句的用法有点类似C语言,很容易学会,但也很容易忘记,只有经常实用它们才不会很快忘记,像我之前看的时候很快就看完了,但是很久没用,过一阵子又把它忘记了,现在又重看了一遍才记起来,好了,下面将详细介绍这几种语句的用法:1、if then else

张勤一 2731

linux shell编程if语句内判断参数

linux shell编程if语句内判断参数 shell 编程中使用到得if语句内判断参数   –b 当file存在并且是块文件时返回真   -c 当file存在并且是字符文件时返回真   -d 当pathname存在并且是一个目录时返回真   -e 当pathname指定的文件或目录存在时返回真   -f 当file存在并且是正规文件时返回真   -g 当由pathname指定的...

weixin_33890499的博客 72

linux shell脚本编程if语句内判断参数详解

文件表达式 –b file   当file存在并且是块文件时返回真 -c file   当file存在并且是字符文件时返回真 -d file   当pathname存在并且是一个目录时返回真 -e pathname   当pathname指定的文件或目录存在时返回真 -f file   当file存在并且是正规文件时返回真 -g pathname   当由pat

竹林听雨 1895

linux的shell脚本if语句,Shell脚本编程之判断语句

一、单分支if语句格式:if 判断条件;thenstatement1statement2...fi二、双分支的if语句格式:if 判断条件; thenstatement1statement2...elsestatementN...fi使用一个以前用过的脚本来说明这个结构。三、多分支if语句格式:if 判断条件1;thenstatement1...elif 判断条件2; thenstatement2...

weixin_33542589的博客 3016

linux之基础shell脚本编程2 if语句循环判断

linux之基础shell脚本编程2 if语句循环判断

第九系艾文 3055

linux shell编程if else,linux shell编程 if else 语句,case语句

if-else语句#ifelse2.sh#判断两个参数的大小#!/bin/bashif [ $1 -ge $2 ]thenecho "$1>=$2"elseecho "$1测试: 多重if-else语句shell中的else if 语句,简写成 elif#!/bin/bash#读入一个分数判断等级read -p "输入一个分数(0,100):" GREADif [ $GREAD -gt ...

weixin_33212575的博客 317

linux shell编程if语句内判断参数详解

shell 编程中使用到得if语句内判断参数   –b 当file存在并且是块文件时返回真   -c 当file存在并且是字符文件时返回真   -d 当pathname存在并且是一个目录时返回真   -e 当pathname指定的文件或目录存在时返回真   -f 当file存在并且是正规文件时返回真   -g 当由pathname指定的文件或目录存在并且设置了SGID位时返回...

dizi9750的博客 113
上一篇: Wireshark 如何截取特定网段的数据
下一篇: Linux shell之——循环
hack8
博客等级 码龄18年 109粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值