需求描述

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

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

测试过程

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

#!/bin/bashif [[ $1 = 'tomcat' ]];
thenecho "Input is tomcat"
else if [[ $1 = 'redis' ]] || [[ $1 = 'zookeeper' ]];
thenecho "Input is $1"
elseecho "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/bashif [[ $1 = 'tomcat' ]];
thenecho "Input is tomcat"
elif [[ $1 = 'redis' ]] || [[ $1 = 'zookeeper' ]];
thenecho "Input is $1"
elseecho "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;
thencommands;
elif condition;thencommands;
elsecommands;
fi

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

转载于:https://www.cnblogs.com/chuanzhang053/p/8566043.html

linux,shell中if else if的写法,if elif相关推荐

  1. 如何理解Linux shell中的“2>1”(将文件描述2(标准错误输出)的内容重定向到文件描述符1(标准输出))(尼玛>符号竟然不支持搜索,害我搜搜不到,只能搜)

    文章目录 前言 有何妙用 如何理解 总结 前言 有时候我们常看到类似这样的脚本调用: ./test.sh > log.txt 2>&1 这里的2>&1是什么意思?该如 ...

  2. Linux shell中2>1的含义

    转载来源 :Linux shell中2>&1的含义 作者:一个行走的民 https://blog.csdn.net/zhaominpro/article/details/82630528 ...

  3. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

  4. linux的shell的功能,linux shell中${ }的一些特异功能

    linux shell中${ }的一些特异功能,这部分内容是shell中的比较经典的部分之一,建议认真学习,深刻体会. 假设我们定义一个变量为: file=/dir1/dir2/dir3/my.fil ...

  5. Linux shell 中的数组和关联数组

    写在前面的话 我用开始废柴了,这个又是写给我自己看的了. 普通数组 1.数组的定义 在Linux shell中定义一个普通的数组很简单,首先我们先给数组命名(当然要符合所有的命名规则咯).定义数组的一 ...

  6. Linux Shell中的延时函数

    Linux Shell中的延时函数 在 linux shell 脚本中经常需要做一些延时处理. 所以经常要用到 sleep 或 usleep 函数. 下面来说一下  sleep 和 usleep 的区 ...

  7. linux shell 中的sleep命令

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

  8. Day25 linux shell中的特殊符号与命令

    2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...

  9. linux shell中./a.sh , sh a.sh , source a.sh, . ./a.sh的区别

    在linux shell中, 执行shell script的方式有多种, 有什么区别呢? 现在用一个简单例子再来说下. a.sh的内容是: #! /bin/bash echo hello world ...

最新文章

  1. mxnet加载保存部分参数
  2. 用ESX进行虚拟化的技巧连载五:代理/防火墙服务虚拟化
  3. 详解CAPM的数学推导
  4. 13 种 JavaScript 代码技巧
  5. 城市轨道交通运营票务管理论文_解读新版《天津市轨道交通票务管理定》
  6. 软件测试与开发专业就业方向,学习软件测试后就业方向有哪些?
  7. 使用子查询进行编号重排的处理示例.sql
  8. 【渝粤题库】国家开放大学2021春2096经济法学题目
  9. ie9 css过大,CSS 3后台大小不适用于IE9(CSS 3 background-size not working on IE9)
  10. python defaultdict 类属性_Python collections.defaultdict模块用法详解
  11. 关于一道面试题,使用C#实现字符串反转算法
  12. 2020 年,Android 还有哪些新期待?
  13. linux下c语言版线程池
  14. WindowsServer2003 MSSQL安全
  15. 32位汇编语言helloworld_编程语言发展70年,50种不同语言输出Hello World,你知多少?...
  16. URLDecoder.decode()转义处理
  17. 类似铸剑物语的java游戏_怀旧向:GBA上的10款经典RPG游戏推荐,这些你都玩过吗?...
  18. Java之美[从蛮荒到撬动地球]之设计模式四
  19. android wps mac 下载地址,wps for mac下载
  20. 用友NC V6.5 6.33 6.31 6.3 6.1 2019新个人所得税增强包税改升级补丁包

热门文章

  1. JavaScript JSON数据格式
  2. H5实例 移动端页面练习
  3. 4019-平衡二叉树的高度的计算(C++,附思路)
  4. 基于鸿蒙Hi3861和华为云平台的烟雾报警器(附源码)
  5. java日志怎么实现_JAVA项目中怎么实现一个通用日志记录功能
  6. idea隐藏 .iml 和 .idea 等自动生成文件
  7. 创建 SSH Keys
  8. service sshd start启动失败,Badly formatted port number.
  9. 【BZOJ3489】A simple rmq problem kd-tree
  10. 高等代数中的名词解析-No1