shell IF语句的使用[通俗易懂]

shell IF语句的使用[通俗易懂]目录条件语句(ifelse)的简单介绍if…fi语句if…else…fi语句if…elif…[else…]fi语句条件语句(ifelse)的简单介绍    如果你在用shell完成一些逻辑判断的时候,可能会用到if…else之类的条件语句。但是,shell中非同寻常的语法会让你每次都需要在网上重新查询确认。在shell中,即使是一些标点…

大家好,又见面了,我是你们的朋友全栈君。

目录

条件语句(if else)的简单介绍

if…fi语句

if…else…fi语句

if…elif…[else…]fi语句


条件语句(if else)的简单介绍

       如果你在用shell完成一些逻辑判断的时候,可能会用到if…else之类的条件语句。但是,shell中非同寻常的语法会让你每次都需要在网上重新查询确认。在shell中,即使是一些标点符号,通常也有自己的含义。现在列举下if条件语句中一些基础语法。

中括号[]的含义

       在if语句中,[]不是简单的条件分隔,它本身的含义是相当于命令test。在shell中,test用于检查某个条件是否成立,它的返回值为bool。比如:

a=100
b=101
test $a -eq $b
echo $?

该函数的返回值为1,表示上一次执行结果为false,也就是变量a和变量b不相等。 test命令的语法可以参见test命令

分号;的含义

       在shell中,分号表示命令的分隔符号。在一行中,可以通过分号将多个命令分隔开来,否则shell无法识别多个命令。比如:

if [ $a -eq $b ] ;then
    echo "a eq b"
fi 

if [ $a -eq $b ]
then
    echo "a eq b"
fi

if…fi语句

这类语句只有一个条件判断,如果判断条件是true,那么就执行,否则跳过。

a=100
b=100
if [ $a -eq $b ];then
    echo "a eq b"
fi

在这里,需要注意两个地方。第一个就是中括号必须和和前后的变量/命令之间有空格分开,因为[] 相当于test命令,而两个命令是不能挨着的。第二个就是;不能够省略,因为then是另一个命令,他们之间需要用;分隔。

if…else…fi语句

a=100
b=101
if [ $a -eq $b ];then
    echo "a eq b"
else
    echo "a not eq b"
fi

if…elif…[else…]fi语句

a=100
b=101
c=102
if [ $a -eq $b ];then
    echo "a eq b"
elif [ $a -eq $c ];then
    echo "a eq c"
else
    echo "a not eq b and a not eq c"
fi

注意,else不一定是需要的。

 

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

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

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

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

(0)


相关推荐

  • 记录Depix工具的使用

    记录Depix工具的使用这个月初有一个挺让人振奋的消息,说是出了一款开源去“马赛克“工具,三天就收获了3k+star,现在star数已经达到了13.7k了,项目地址:https://github.com/beurtschipper/Depix。我是没有这种世俗的欲望的,所以当时就没关注,直到昨天”纵横杯”网络安全竞赛Misc中专门出了一个马赛克的题,就给出了下面这张图片师傅们调侃说近视眼摘下眼镜离远一点就能看清楚了,我试了一下只能看出轮廓,但是还是看不清,这就需要用到Depix这个神奇的工具了。我这里是在windows系

  • python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)

    python聊天室(tkinter写界面,treading,socket实现私聊群聊查看聊天记录,mysql存储数据)一、前言我用的是面向对象写的,把界面功能模块封装成类,然后在客户端创建对象然后进行调用。好处就是方便我们维护代码以及把相应的信息封装起来,每一个实例都是各不相同的。所有的界面按钮处理事件都在客户端,在创建界面对象是会把客户端的处理事件函数作为创建对象的参数,之后再按钮上绑定这个函数,当点击按钮时便会回调函数二、登录界面实现登录界面模块chat_login_panel.pyfromtkinterimport*#导入模块,用户创建GUI界面#登陆界面类classLoginPane

    2022年10月27日
  • Java Web项目 慧心人力资源管理系统[通俗易懂]

    Java Web项目 慧心人力资源管理系统[通俗易懂]美和易思JavaWeb机试试题题目:慧心人力资源管理系统文档下载:https://download.csdn.net/download/weixin_44893902/16336711实现代码下载:目录一、语言和环境二、实现功能三、数据库设计四、具体要求及推荐实现步骤五、评分标准六、实现代码一、语言和环境实现语言:JAVA语言。 环境要求:MyEclipse/Eclipse+Tomcat+MySql。 使用技术:Jsp+Servlet+Jav..

  • 使用python进行方差分析_python多因素方差分析

    使用python进行方差分析_python多因素方差分析利用python实现方差分析简介 方差分析是一种常用的对数据进行分析的方法,用于两个及两个以上样本均数和方差差别的显著性检验。本文介绍单因素方差分析和双因素方差分析。 方差分析存在三个假设: 1、各样本总体服从正态分布。 2、各样本总体方差一样。 3、各样本总体相互独立。单因素方差分析 单因素方差分析就是在只有一种影响因素下判断各个样本间的均值差别的显著性。 数据会…

    2022年10月15日
  • 服务器异地灾备_华为idc解决方案

    服务器异地灾备_华为idc解决方案说明两地三中心:两地是指同城、异地三中心是指生产中心、同城容灾中心、异地容灾中心。备端在线两地三中心灾备方案网络设计如下:容灾系统衡量指标衡量容灾系统的主要指标有RPO(RecoveryPointObject):灾难发生时允许丢失的数据量RTO(RecoveryTimeObjective):系统恢复的时间容灾半径:生产系统和容灾系统之间的距离ROI(R…

  • goland 激活码【最新永久激活】

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

发表回复

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

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