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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单源最短路径dijkstra算法_tous les jours蛋糕

    单源最短路径dijkstra算法_tous les jours蛋糕年轻的探险家来到了一个印第安部落里。在那里他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用 10000 个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:”嗯,如果你能够替我弄到大祭司的皮袄,我可以只要 8000 金币。如果你能够弄来他的水晶球,那么只要 5000 金币就行了。”探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或

    2022年8月10日
    7
  • sublime3 激活码【中文破解版】

    (sublime3 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月25日
    48
  • 浅谈Mock测试

    浅谈Mock测试一、Mock测试的定义 Mock就是在测试过程中,对于一些不容易构造/获取的对象,创建一个Mock对象来模拟对象的行为 二、Mock测试的作用 1、为什么要做Mock: 在对代码进行单元测试过程中,经常会有以下的情况发生: classA依赖classB和classC classD依赖classC和classE classB依赖…..

    2022年6月20日
    38
  • 拉链表的展开算法_如何求展开式的系数

    拉链表的展开算法_如何求展开式的系数在做数据仓库项目的过程中,有时候可能也会根据历史拉链表,展开为每天全量表;相当于一个还原的过程,即构建拉链表的反过程。1、建表及插入测试数据语句 –建表语句–生成EDW_T00_H表(历史拉链表)–CreatetablecreatetableEDW_T00_H(IDVARCHAR2(2)notnull,…

    2022年10月16日
    21
  • 数据库常见面试题(附答案)

    数据库常见面试题(附答案)1.事务四大特性原子性,要么执行,要么不执行隔离性,所有操作全部执行完以前,其它会话不能看到过程一致性,事务前后,数据总额一致持久性,一旦事务提交,对数据的改变就是永久的2.数据库隔离级别,每个级别会引发什么问题,mysql默认是哪个级别脏读:事务B读取事务A还没有提交的数据不可重复读:两次事务读的数据不一致幻读:事务A修改了数据,事务B也修改了数据,这时在事务A看

    2022年5月2日
    75
  • eclipse开发c++时cout和endl报错

    eclipse开发c++时cout和endl报错

    2022年1月29日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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