• 欢迎来到小爱博客,一个分享互联网IT技术的网站,喜欢就收藏吧!

linux shell if elif else fi写法

shell 小爱 2个月前 (08-11) 51次浏览 已收录 0个评论 扫描二维码

需求描述

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

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

测试过程

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

#!/bin/bash

if [[ $1 = 'tomcat' ]]; 
then
  echo "Input is tomcat"
else if [[ $1 = 'redis' ]] || [[ $1 = '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 [[ $1 = 'tomcat' ]];
then
  echo "Input is tomcat"
elif [[ $1 = 'redis' ]] || [[ $1 = '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

小爱博客 , 版权所有
转载请注明原文链接:linux shell if elif else fi写法
喜欢 (0)
【你的支持, 我的动力】
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址