shell中的if判断语句怎么写_shell编程if语句格式

shell中的if判断语句怎么写_shell编程if语句格式文章目录1.判断语句介绍-if2.if…else语句(一个条件两个判断结果)3.if…elif…else语句(多条件多个判断结果)4.if嵌套if语句5.if和命令的操作1.判断语句介绍-if当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功当满足条件的代码块中有exit,表示退出脚本执行注意:注意if和[]有空格,[]和condition也有空格隔开,运算符也有空格。缩进可以任意缩进单

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

1. 判断语句介绍 – if

当编写程序时,需要对上一步执行代码是否执行成功进行判断,可以用if语句进行判断。通过查看if语句执行的判断结果查看代码是否执行成功

当满足条件的代码块中有exit ,表示退出脚本执行

注意: 注意if和[]有空格,[]和condition也有空格隔开,运算符也有空格。缩进可以任意缩进

单if 语句(一个条件一个判断结果)
适用范围: 一步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False则不执行单if语句

if语法格式:

在脚本中:
	if [ condition ]		=>	true or false
		then			=>	条件为ture时执行commands代码块
			commands		=>	代码块,一行或者多行代码。
	fi						=>	if语句结束
#l 备注:在代码块中加入一行"exit 8",即结束脚本,后面的代码不再执行


在终端中:
	#if [ condition ]; then commands; fi

单if 语句流程图:
在这里插入图片描述

2. if…else 语句(一个条件两个判断结果)

适用范围: 两步判断,对给定的条件进行判断,条件返回Ture执行Ture语句,条件为False执行else语句。

if.else语法格式:

if [ condition ]
	then			=>	条件为真,执行commands1
		commands1
else				=>	条件为假,执行commands2
		command2
fi

if…else 语句流程图:
在这里插入图片描述

3. if…elif…else 语句(多条件多个判断结果)

使用范围: 多用于两个以上的条件进行判断结果

条件从上至下进行判断,满足则执行条件下的语句并结束if判断。若都不满足则执行else的语句

else 这个条件不写也可以

if…elif…if 语法格式:

if [ condition1 ] 		=>	判断是否满足条件1,满足执行commands1,结束判断
	then
		commands1
elif [ condition2 ]		=>	当不满足条件1,判断是否满足条件2,满足执行commands2,结束判断
	then
		commands2
...
//else					=>	若上面的条件都不满足,则 执行else下的commandsx
//	commandsx			=>	可以不写
fi	

#l 备注:多条件判断之间存在包容关系,需要从最严格的条件开始判断,
		比如:判断系统内存使用率:
			60%			警告
			70%			严重警告
			80%			发邮件
			60%以下		打印使用率
		如果第一个条件判断是60%,那么70、80都符合第一个条件。后面的条件判断就没有意义了,因为高于60就执行警告,后面条件不执行了

if…elif…else 语句流程图:
在这里插入图片描述

4. if嵌套if 语句

适用范围: 当有多条判断时,可以使用if嵌套

if 条件判断成功,执行if 嵌套内容,否则执行else语句

编写的时候呀从外往里编写

if嵌套if 语句格式:

if [ condition1 ]
	then
	if [ condition2 ]		=>	当条件1满足,判断条件2是否满足,满足执行commands1
		then
			commands1
		...
	else					=>	条件2不满足执行commands2
		commands2
	fi
else					=>	当条件1不满足执行commands3
	commands3
fiif [ condition1 ]		=>	当条件1满足,执行commands1
	then
		commands1
else		
	if [ condition2 ]	=>	当条件1不满足,条件2满足时,执行条件3
		then
		if [ condition3 ]		=>	当条件1不满足,条件23满足时,执行commands3
			then
				commands3
			else				=>	当条件1不满足,条件2满足时且条件3不满足,执行commands4
				commands4
			fi	
		...
	else			=>	当条件1和2都不满足时,执行commands5
		commands5
	fi
fi

5. if 和命令的操作

  • 系统会执行命令的操作,加入命令执行成功进入下一步操作

  • !选项代表非

  • 通过 echo $?查看,如果返回0表示执行成功,返回其他表示执行不成功

语法:
# if options (命令) 
# then 
# command
# fi
		options说明:
			!:表示命令执行不成功,则执行command

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170867.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • java工作流activity_activity 工作流学习(一)

    java工作流activity_activity 工作流学习(一)启动流程实例什么是流程实例?根据一个流程定义具体的一次执行过程就是一个流程实例,一个流程定义对应多个流程实例(一对多关系)为了演示:在流程图中指定办理人是谁,现在是写死的,表示只能张三能提交请假申请。后面会讲解如何动态指定。//根据流程定义的Id启动一个流程实例(操作ACT_RU_EXECUTION、ACT_RU_TASK、ACT_HI_PROCINST、ACT_HI_ACTINST、ACT_HI…

  • python编写nc的思考

    0x00前言发现自己学习python已经有半个月了,也开发了自己的一些渗透的小脚本,但觉得还是不够,我个人觉得工具和脚本还有框架是个本质上的区别。脚本的话,不会考虑到其他的一些因素,例如报错和交互

    2021年12月11日
  • redis scan命令_redis 查询命令

    redis scan命令_redis 查询命令我们可能会遇到需要运行的某些命令在godis中不存在的情况,这个时候我们可以使用其原生的方式运行命令,为了方便使用,封装了一个方法,用于简化这个过程。需要注意的是,执行命令的返回结果返回的是interface{},需要对其进行解析成可读的实体结构。传递的参数logger是用来打印日志的://RunRedisCmd运行redis命令funcRunRedisCmd(redis*godis.Redis,logger*log.Logger,cmdstring,args…string)

  • idea 2021.11.3 激活码_在线激活

    (idea 2021.11.3 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0…

  • Angular面试题_angular面试

    Angular面试题_angular面试一、ng-show/ng-hide与ng-if的区别?第一点区别是,ng-if在后面表达式为true的时候才创建这个dom节点,ng-show是初始时就创建了,用display:block和display:none来控制显示和不显示。第二点区别是,ng-if会(隐式地)产生新作用域,ng-switch、ng-include等会…

  • CollectGarbage 垃圾回收

    在IE中,调用window.CollectGarbage()方法会立即执行垃圾收集,在Opera7及更高版本中,调用window.opera.collect()也会启动垃圾收集例程。转载于:https://www.cnblogs.com/wujidns/p/5462372.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号