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)


相关推荐

  • 给网页去色_为什么有些网页进不去

    给网页去色_为什么有些网页进不去为什么80%的码农都做不了架构师?>>>…

  • roc曲线的意义_Pre / Rec / ROC / PR「建议收藏」

    roc曲线的意义_Pre / Rec / ROC / PR「建议收藏」Precision和Recall值是既矛盾又统一的两个指标,为了提高Precision值,分类器需要尽量在“更有把握”时(即,提高分类阈值!)才把样本预测为正样本,但此时往往会因为过于保守而漏掉很多“没有把握”的正样本,导致Recall值降低。ROC(ReceiverOperatorCharacteristic)曲线被广泛应用于二分类问题中来评估分类器的可信度,但是当处理一…

  • 常见内网IP段_内网ip是什么

    常见内网IP段_内网ip是什么常见内网IP段局域网,解决了ipv4地址不够用的问题。同时方便维护管理。局域网地址范围分三类,以下IP段为内网IP段:C类:192.168.0.0-192.168.255.255B类:172.16.0.0-172.31.255.255A类:10.0.0.0-10.255.255.255…

  • idea web项目 怎么配置 artifacts_springmvc配置视频

    idea web项目 怎么配置 artifacts_springmvc配置视频先去下载:http://code.google.com/p/kindeditor/downloads/list引用:LitJSON.dll文件<scriptsrc=”~/kindeditor/kindeditor.js”></script>@ViewBag.content编辑的时候使用<textareaname=”TextArea1″…

  • java数据类型归集,整理[通俗易懂]

    java数据类型归集,整理[通俗易懂]java数据类型归集,整理

  • Android Hook技术的简单实现

    Android Hook技术的简单实现一、什么是Hook技术Android程序有一套特有的事件分发机制,都是按既定程序从前往后执行的。Hook技术就是利用反射和代理,在既定程序中插入我们自己写的程序。比如,我们想在App所有的点击事件中添加播放音乐的效果。所有控件的点击事件,分发流程都是系统已经写好了,这时我们怎么做到在其中插入我们的播放音乐的效果呢?让我们拭目以待!二、如何寻找Hook点1.尽量选择静态变量和单例对象,因为一旦创建对象,他们不容易变化,非常容易定位。2.尽量Hookpublic的对象和方法三、Hook过程选

发表回复

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

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