linux用if语句编程序,Shell 脚本基础 - 使用 if 语句进行条件检测

Bourne Shell 的 if 语句和大部分编程语言一样 - 检测条件是否真实,如果条件为真,shell 会执行这个 if 语句指定的代码块,如果条件为假,shell 就会跳过 if 代码块,继续执行之后的代码。

effa9ebd75b129d8e7bbb77d6a585677.png

if 语句的语法:

if[判断条件]

then

command1

command2

……..

last_command

fi

Example:

#!/bin/bash

number=150

if[$number-eq150]

then

echo"Number is 150"

fi

if-else 语句:

除了标准的 if 语句之外,我们还可以加入 else 代码块来扩展 if 语句。这么做的主要目的是:如果 if 条件为真,执行 if 语句里的代码块,如果 if 条件为假,执行 else 语句里的代码块。

语法:

if[判断条件]

then

command1

command2

……..

last_command

else

command1

command2

……..

last_command

fi

Example:

#!/bin/bash

number=150

if[$number-gt250]

then

echo"Number is greater"

else

echo"Number is smaller"

fi

If..elif..else..fi 语句 (简写的 else if)

Bourne Shell 的 if 语句语法中,else 语句里的代码块会在 if 条件为假时执行。我们还可以将 if 语句嵌套到一起,来实现多重条件的检测。我们可以使用 elif 语句(else if 的缩写)来构建多重条件的检测。

语法 :

if[判断条件1]

then

command1

command2

……..

last_command

elif[判断条件2]

then

command1

command2

……..

last_command

else

command1

command2

……..

last_command

fi

Example :

#!/bin/bash

number=150

if[$number-gt300]

then

echo"Number is greater"

elif[$number-lt300]

then

echo"Number is Smaller"

else

echo"Number is equal to actual value"

fi

多重 if 语句 :

If 和 else 语句可以在一个 bash 脚本里相互嵌套。关键词 “fi” 表示里层 if 语句的结束,所有 if 语句必须使用 关键词 “fi” 来结束。

基本 if 语句的嵌套语法:

if[判断条件1]

then

command1

command2

……..

last_command

else

if[判断条件2]

then

command1

command2

……..

last_command

else

command1

command2

……..

last_command

fi

fi

Example:

#!/bin/bash

number=150

if[$number-eq150]

then

echo"Number is 150"

else

if[$number-gt150]

then

echo"Number is greater"

else

echo"'Number is smaller"

fi

fi

0b1331709591d260c1c78e86d0c51c18.png

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

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

相关文章

java运行时间间隔_Java:安排作业按时间间隔运行

java运行时间间隔最近,我花了一些时间围绕Neo4j版本之间的滚动升级构建了一组测试,作为其中的一部分,我想记录升级过程中集群的状态。 测试的主线程会等待升级完成,因此我想每隔几秒钟登录另一个线程。 Alistair将我指向Schedule…

卫星导航定位 -- 坐标系统与时间系统

原文https://blog.csdn.net/f2157120/article/details/81210843 1 协议天球坐标系 以地球质心为坐标原点,以地球自转的轴为z轴 2 协议地球坐标系 3 WGS-84坐标系 4 CGS2000坐标系统 5 直角坐标系与大地坐标系转换 6 大地坐标系转换 7 时间系统 8 GNSS时间系统 …

linux 命令行 解密,解密Linux终端命令 学好Linux

如果你要学习Linux操作系统,你一定知道Linux系统越来越受到电脑用户的欢迎,学习linux,你可能想了解Linux终端命令,这里将介绍Linux终端命令的知识,在这里拿出来和大家分享一下。一、文件目录类1.建立目录:m…

用Jackson编写大型JSON文件

有时您需要将大量数据导出到JSON到文件中。 可能是“将所有数据导出到JSON”,或者是GDPR“可移植性权利”,您实际上需要这样做。 与任何大型数据集一样,您不能只将其全部容纳在内存中并将其写入文件。 它需要一段时间,它会从数据…

博弈论学科整体概览

一、博弈论的概念 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。博弈论考虑游戏中的个体的预测行…

linux 进程组id 错乱,【Linux】终端,进程组,作业,会话及作业控制

终端概念在UNIX系统中,用用户通过终端登录系统后得到一一个Shell进程,这个终端成为Shell进程的控制终端 (Controlling Terminal),控制终端是保存在PCB中的信息,而我们知道fork会复制PCB中的信息,因此由Shell进程启动的其它进程的控制终端也是这个终端。默认情况 下(没有重定向)…

纳什均衡

纳什均衡(或者纳什平衡),Nash equilibrium ,又称为非合作博弈均衡,是博弈论的一个重要策略组合,以约翰纳什命名。 定义 经济学定义 数学定义 纳什均衡的定义:在博弈G﹛S1,…,Sn:u1,…&#x…

linux 添加本地源,linux 添加本地yum源

1、yum repolist2、https://opsx.alibaba.com/mirror,首先下在该镜像站点中的yum,这里选择epel源epel-release-latest-7.noarch.rpm3、rpm -ivh epel-release-latest-7.noarch.rpm # 安装源4、此时看到epel源已经安装好了,如果我们不适用bas…

稳定婚姻问题:Gale–Shapley算法

(一)问题的引出 在组合数学、经济学、计算机科学中,稳定婚姻问题(英语:stable marriage problem,简称SMP)又称为稳定配对问题(stable matching problem),是指…

Linux程序设计实验项目六,《linux程序设计》实验教学大纲

《linux程序设计》实验教学大纲课程名称:Linux程序设计课程编号:408412420408436407适用专业:计算机科学与技术网络工程软件工程总 学 分:3总 学 时:48其中实验学时16一、实验课程性质、目的与任务《Linux程序设计》课…

宣布EAXY:使Java中的XML更容易

Java中的XML库是一个雷区。 操作和读取XML所需的代码量令人震惊,使用不同的库遇到类路径问题的风险很大,并且对名称空间的处理带来许多混乱和错误。 最糟糕的是,情况似乎并没有改善。 一位同事让我意识到JOOX库。 这是解决这些问题的一个很好…

奇异值分解(SVD)原理与在降维中的应用

奇异值分解 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的…

嵌套类和私有方法

当您在另一个类中有一个类时,他们可以看到彼此的private方法。 在Java开发人员中并不为人所知。 面试中的许多候选人说, private是一种可见性,它使代码可以查看成员是否属于同一班级。 这实际上是对的,但是更准确地说,…

linux 信号没有被处理方法,[计算机]Linux 信号signal处理机制.doc

[计算机]Linux 信号signal处理机制Linux 信号signal处理机制信号是Linux编程中非常重要的部分,本文将详细介绍信号机制的基本概念、Linux对信号机制的大致实现方法、如何使用信号,以及有关信号的几个系统调用。 信号机制是进程之间相互传递消息的一种方法…

自相关函数与互相关函数

1 概念 1 自相关函数 2 互相关函数 从定义式中可以看到,互相关函数和卷积运算类似,也是两个序列滑动相乘,但是区别在于:互相关的两个序列都不翻转,直接滑动相乘,求和;卷积的其中一个序列需要先…

Linux as4开启telnet,linux as4 虚拟机 上开启 telnet 和ssh 和 ftp 服务

1.telnet服务开启(1)输入[rootrehat ~]# chkconfig krb5-telnet --listkrb5-telnet on这是你的服务存在的状态,如果没有的话,可能是你的telnet名字和我的不一样,也可能是你的那个rpm包没有安装。我第一次的Linux中是没有安装的&#xff0…

解决MATLAB不能设置为.m文件默认打开方式

转载:https://blog.csdn.net/yujiaerzong/article/details/77624167 将下面代码复制保存为 associateFiles.m 文件。 或者从下面链接下载文件https://ww2.mathworks.cn/matlabcentral/fileexchange/51165-matlab-file-association-fix 在MATLAB中运行 associateFil…

linux 我的世界 跨平台联机,我的世界跨平台联机 PC、手机等平台数据互通

我的世界 ( MineCraft,简称 MC ) 》是一款开放世界沙盒建造游戏,有着超高的自由度,在国内外有着相当高的人气,各年龄层的玩家都非常的喜欢玩。在这次 E3 2017 微软展前发布会上,微软除了公布新主机 Xbox One X ( 原名 …

展望Java的未来:空值类型

尽管有前途的Java值类型不是迫在眉睫,但我偶尔还是喜欢在OpenJDK valhalla-dev邮件列表中打听一下,以了解事情的进展情况并了解即将发生的事情。 诚然,由于我对所用术语的了解有限,并且其中某些消息的底层细节,使我无法…

5G的场景、需求、通信速率

5G三大典型场景 5G有三大典型场景,这三大场景描述了5G的需求也反应了5G与4G的不同,如图所示,三大场景分别为:增强型移动宽带通信(eMBB),大规模机器型通信(eMTC)和超高可…