需求描述

  在写shell脚本的过程中,用到了if else的写法,突然有多个参数需要判断

  那么就想到了if else if的用法,于是进行如下的测试。

测试过程

1.写如下的测试脚本,进行多个值的判断

#!/bin/bash

if [[ $ = 'tomcat' ]];
then
echo "Input is tomcat"
else if [[ $ = 'redis' ]] || [[ $ = 'zookeeper' ]];
then
echo "Input is $1"
else
echo "Input Is Error."
fi

2.执行脚本,看脚本是否正常执行

[oracle@standby ~]$ ./ts01.sh zookeeper
./ts01.sh: line 12: syntax error: unexpected end of file

备注:发现执行是错误的,经过查看可以知道,shell脚本中不是else if而是elif这个写法

3.修改脚本

#!/bin/bash

if [[ $ = 'tomcat' ]];
then
echo "Input is tomcat"
elif [[ $ = 'redis' ]] || [[ $ = 'zookeeper' ]];
then
echo "Input is $1"
else
echo "Input Is Error."
fi

4.再次执行修改过的脚本

[oracle@standby ~]$ ./ts01.sh zookeeper
Input is zookeeper
[oracle@standby ~]$ ./ts01.sh tomcat
Input is tomcat
[oracle@standby ~]$ ./ts01.sh redis
Input is redis
[oracle@standby ~]$ ./ts01.sh mysql
Input Is Error.

备注:脚本执行正常,正确的输出了需要的结果。

shell脚本中else if的正确使用方法

if condition;
then
commands;
elif condition;then
commands;
else
 commands;
fi

文档创建时间:2018年3月14日10:54:11

linux,shell中if else if的写法,if elif的更多相关文章

  1. Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)

    case语句适用于需要进行多重分支的应用情况. case分支语句的格式如下: case $变量名 in 模式1) 命令序列1 ;; 模式2) 命令序列2        ;; *) 默认执行的命令序列  ...

  2. Linux Shell 中 > 和 >> 的异同点和应用场景

    Linux Shell 中 > 和 >> 的异同点和应用场景 > 和 >> 的异同点 举例说明(start.sh 为某个服务的启动脚本,start.log 为某服务 ...

  3. [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)

    Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528   ...

  4. linux shell 中的sleep命令

    开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...

  5. 理解 Linux shell 中的一个方言:2>&1

    理解 Linux shell 中的一个方言:2>&1  2016-11-14 杜亦舒 前言 在使用 linux 命令或者 shell 编程时,这个用法常会遇到 2>&1 如 ...

  6. linux shell 中的位置变量

    对于linux shell 中的位置变量,我一直以来都是吐不出来又咽不下去,每次看到都不懂,不懂了就去百度google,看完了又忘,真是慢性咽炎啊.现在认真想想也是,其实自己一直以来都没有好好学习过, ...

  7. Linux shell中的一个问题 ${}带正则匹配的表达式

    目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...

  8. Linux shell中的竖线(|)——…

    原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...

  9. [转载]Linux shell中的竖线(|)——管道符号

    原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command ...

随机推荐

  1. DDOS与DDOS追踪的介绍

    我很早前研究anti-DDOS,其中就有追踪一块,可以在这里介绍一些,但是实际上只有很少技术被投入使用了,大多数都还是依然是实验室的东西,已经投入实用的我单独提出来. 追踪技术有: ·链级测试 (Li ...

  2. Django视图之URLconfs

    对于一个web程序而言,接收和处理用户的请求并返回响应是一个最基本的.也是最重要的功能. Django为这个功能取了一个好听的名字——“视图”. 而具体的代码实现往往是通过一个个函数,Django中也 ...

  3. ny236 心急的C小加 hdoj1051 Wooden Sticks

    心急的C小加 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间 ...

  4. LeetCode: Spiral Matrix 解题报告

    Spiral MatrixGiven a matrix of m x n elements (m rows, n columns), return all elements of the matrix ...

  5. C#播放器控件的常用方法介绍

    右击工具箱->选择项(I)... -> 显示"选择工具箱项" -> COM组件 -> Windows Media Player   wmp.dll 添加 [ ...

  6. java web 应用中包,接口的设计

    采用标准的架构:描述从低层到高层首先是系统分析,找出你需要什么功能,然后按照下面的步骤执行: 数据库层:数据库层就是SQL语句.数据库.表.视图.触发器等等的创建和管理.这一层和JAVA无关,但是却是 ...

  7. Sketch Up常见问题

    墙上开门洞用铅笔在墙上画好矩形(2m*1m)->用推拉(P)工具双击左键

  8. 【Unity】初始化物体的旋转角度

    需求:钟表的指针默认位置在0点,在初始化时会根据当前的时间,旋转到一定角度.然后才是在当前旋转角度下每帧继续旋转. 问题:网上搜到的关于物体的旋转,基本都是给定一个速度的持续运动,而现在需要的是一个即 ...

  9. PDNN安装与使用

    在之前写的一文"关于PDNN.Theano.Numpy以及Scipy的安装"中介绍了Theano的安装, 下面简单的介绍一下PDNN的安装与使用,哎,这个从学习的角度来讲自己亲自动 ...

  10. Android——控件AutoCompleteTextView 自动提示

    Android:控件AutoCompleteTextView 自动提示 在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextV ...