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不一定是需要的。

 

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

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

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


相关推荐

  • python3.8安装scrapy_python为什么叫爬虫

    python3.8安装scrapy_python为什么叫爬虫安装Scrapy与安装其他Python包没有区别,同样使用如下命令来安装:pipinstallscrapy如果在命令行窗口中运行该命令,将会看到程序并不立即下载、安装Scrapy,而是不断地下载大量第三方包。如果在命令行窗口中提示找不到pip命令,则也可以通过python命令运行pip模块来安装Scrapy,例如python-mpipinstallscrapy…

    2022年9月18日
    0
  • 手把手教你配置阿里云服务器搭建网站

    手把手教你配置阿里云服务器搭建网站出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Javaweb的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但是呢,在网上搜解决办法的时候,总是历经波折才能找到我最后想要的东西,所以我想把我配置阿里云的时候踩过的坑填一下,如果你按照我的方法成功解决的问题,别忘了给我点个赞

    2022年6月29日
    33
  • 分页的sql语句_如何实现分页效果

    分页的sql语句_如何实现分页效果下文将为您介绍三种SQL分页语句写法,如果您也遇到过类似的问题,不妨一看,相信对您会有所启迪。SQL分页操作是经常会遇到的,下面就将为您介绍三种SQL分页语句,供您参考,希望对您学习SQL分页能够有所帮助。方法一(适用于SQLServer2000/2005)SELECTTOP页大小* FROMtable1 WHEREidNOTIN

    2022年9月21日
    0
  • Java中XML运用总结

    Java中XML运用总结XML 简介:可扩展标记语言(eXtensibleMarkupLanguage)。特性:1.xml具有平台无关性,是一门独立的标记语言.2.xml具有自我描述性为什么学习XML?1.网络数据传输.2.数据存储3.配置文件XML文件.XML文件是保存XML数据的一种方式XML数据也可以以其他的方式存在(如在内存中构建XML数据)。不要将XML语言狭隘的理解成XML文件。XML语法格式1.XML文档声明<?xmlversio..

    2022年7月7日
    21
  • HTML实体对照表

    HTML实体对照表

    2021年10月20日
    38
  • JNZ是什么指令_pushf指令

    JNZ是什么指令_pushf指令书中127页有这么一段,movdx,0x1f7.waits:inal,dxandal,0x88cmpal,0x08jnz.waits最后一句的jnz完全可以用jne代替,那jnz/jne,jz/je区别到底是什么呢?刚想到这个问题时候我有点懵,明明都是由ZF标志位决定的啊,有啥不一样啊QAQjnz指令,if(ZF!=0)则跳转,在

    2022年10月23日
    0

发表回复

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

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