首页 > 系统相关 >shell中if else if的写法,if elif

shell中if else if的写法,if elif

时间:2023-06-12 09:35:45浏览次数:35  
标签:elif shell tomcat ts01 echo sh Input else

需求描述

  在写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
复制代码

标签:elif,shell,tomcat,ts01,echo,sh,Input,else
From: https://www.cnblogs.com/xzlive/p/17474082.html

相关文章

  • Powershell 应用之一
    前言:对于一个Windowsserver运维的管理员来说,powershell命令至关重要,它不仅仅能够提高你的工作效率,也是你工作中的好帮手,所以应该静下心来好好学习命令,虽然一开始不太习惯用着用着你就会爱不释手。一、AD对象日常管理用户管理例子1:统计OU下总共有多少个AD账号(Get-ADUser-Filter......
  • Linux命令行与shell脚本编程大全学习笔记
    理解Linux文件权限执行ls-l命令获取当前目录下所有文件、目录和设备的权限。显示的列表字段分别为:文件类型,比如目录(d)、文件(-)、字符型文件(c)或块设备(b);文件的权限;文件的硬链接总数;文件属主的用户名;文件属组的组名;文件的大小(以字节为单位);文件的上次修改时间;文件名或目录名。输出......
  • kali开启ssh端口连接xshell
    先记一下主要命令启动ssh服务:systemctlstartssh.servicenetstat-lnt:再次查看端口状态,可以看到22端口已经成功开启第一步编辑ssh文件 vi/etc/ssh/sshd_config 将其修改为第二步重启ssh/etc/init.d/sshrestart重启或者servicesshstart重启/etc/init.d/sshstatu......
  • Python中带else子句的for循环执行过程
    这几天在厦门讲课,每天6小时,没有太多时间写新代码,宾馆不知道咋想的也不提供WiFi,只好用手机做个热点临时分享一点基础知识,300M的包月流量伤不起,热点瞬间就把仅剩的40M流量用完了,赶紧发完关闭热点。在Python中,有while和for两种循环,并且都可以带有else子句。其中while循环常用于无法提......
  • Shellcode Execution in a Local Process with QueueUserAPC and NtTestAlert(nim学习
    ShellcodeExecutioninaLocalProcesswithQueueUserAPCandNtTestAlertAPC队列异步过程调用(APC)队列是一个与线程关联的队列,用于存储要在该线程上下文中异步执行的函数。操作系统内核会跟踪每个线程的APC队列,并在适当的时机触发队列中挂起的函数。APC队列通常用于实现线......
  • shell脚本的使用
    shell脚本,是一种编程语言,是用户使用Linux的工具。一个shell脚本也可以理解为一系列Linux命令的组合。可以用于各种自动化任务、复杂的任务。Linux的Shell种类众多,常见的有Bash,Bash在日常工作中被广泛使用。同时,Bash也是大多数Linux系统默认的Shell。shell基础教程见:shell教程......
  • Python中else关键字的常见用法
    Python中的else常见用法有三:选择结构、循环结构和异常处理结构。(1)选择结构这应该是最常见的用法,与关键字if和elif组合来使用,用来说明条件不符合时应执行的代码块。(2)循环结构Python中的for循环和while循环都可以带else子句,如果循环是因为条件不再成立而自然结束时会执行else中的代码......
  • (转)七年老运维实战中的 Shell 开发经验总结
    原文:https://mp.weixin.qq.com/s/0VmbKcttZ0aKpVRb65ycew无论是系统运维,还是应用运维,均可分为“纯手工”—>“脚本化”—>“自动化”—>“智能化”几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避免重复性操作及风险,另一方面提高执行效率......
  • Linux Shell 脚本创建日期文件夹
    mk-time-dir.sh#!/bin/bashdir_name=$(date'+%Y%m%d%H%M')mkdir$dir_nameecho"已创建文件夹${dir_name}"#已创建文件夹202306090936参考:Linuxdate命令......
  • shell
    判断/etc/passwd文件是否大于20行,如果大于,则显示”/etc/inittabisabigfile.”否者显示”/etc/inittabisasmallfile.”给定一个用户,来判断这个用户是什么用户,如果是root用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”提示:id–u$UID输入一个文件名,判断是文件......