shell中case的用法学习笔记

 更新时间:2013年11月07日 17:33:56   作者:  
这篇文章主要为大家介绍shell中的case语句:可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码

shell中的case语句:

可以把变量的内容与多个模板进行匹配,再根据成功匹配的模板去决定应该执行哪部分代码。

使用格式:
case 匹配母板 in
模板1 [ | 模板2 ] … ) 语句组 ;;
模板3 [ | 模板4 ] … ) 语句组 ;;
esac
case语句的匹配是从上往下地匹配顺序。因此,case语句编写的原则是从上往下,模板从特殊到普通。在C语言里,case语句中有default模板,而在shell程序设计中,可能将模板写成*,就可以完成相同的功能。

例1:

复制代码 代码如下:

#!/bin/sh
echo "Please input \"yes\" or \"no\""
read var
case "$var" in
[yY][eE][sS] ) echo "Your input is YES" ;;
[nN][oO] ) echo "Your input is no" ;;
* ) echo "Input Error!" ;;
esac
exit 0

例2:

复制代码 代码如下:

#!/bin/bash
FRUIT=$1         #注意没有空格
if [ -z "$1" ]   #中括号跟 -z 要有空格
then
echo "没有在第一个参数输入水果"
else
case "$FRUIT" in
apple|APPLE) echo "THE FRUIT is apple";;
banana|BANANA) echo "THE FRULT is banana";;
#可以使用*)来表示默认选项,注意最后要用两个分号来结尾
*) echo "输入的是不是我要的水果啊?";;
esac
fi

#--- $1既是外部传参的值,如:运行该脚本的时候:./test.sh apple
#---此处apple既是$1

附另外一个示例:

复制代码 代码如下:

#!/bin/bash
HOSTS=" nss.sh cs.sh SS.sh ds_handler2 tomcat blog httpd "
for myHost in $HOSTS
do
count=(`ps aux |grep -v grep |grep $myHost |wc -l`)
echo $myHost
echo $count
done

相关文章

  • 一个简单的linux命令 touch

    一个简单的linux命令 touch

    这篇文章主要介绍了一个简单的linux命令touch,touch命令用来修改文件时间戳,或者新建一个不存在的文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • Linux查找文件夹下包含某字符的所有文件

    Linux查找文件夹下包含某字符的所有文件

    这篇文章主要介绍了Linux查找文件夹下包含某字符的所有文件,文中给大家提到了linux查找目录下的所有文件中是否含有某个字符串的相关知识,需要的朋友可以参考下
    2019-09-09
  • shell脚本实战-while循环语句

    shell脚本实战-while循环语句

    这篇文章主要介绍了shell脚本实战-while循环语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Shell echo、printf、test命令的具体使用

    Shell echo、printf、test命令的具体使用

    本文主要介绍了Shell echo、printf、test命令的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-03-03
  • fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法

    fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法

    下面小编就为大家带来一篇fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Shell脚本read用法实现

    Shell脚本read用法实现

    本文主要介绍了Shell脚本read用法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 一句话Shell命令关闭不需要的随机启动服务

    一句话Shell命令关闭不需要的随机启动服务

    这篇文章主要介绍了一句话Shell命令关闭不需要的随机启动服务,使用本文的一句话命令,可以达到优化系统的目的,其中要保留的服务可以自己定义,需要的朋友可以参考下
    2014-12-12
  • Linux创建用户的操作命令

    Linux创建用户的操作命令

    useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。这篇文章给大家介绍了Linux创建用户的操作命令,感兴趣的朋友一起看看吧
    2018-08-08
  • SVN限制message字符个数及格式的实例

    SVN限制message字符个数及格式的实例

    下面小编就为大家带来一篇SVN限制message字符个数及格式的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Linux shell 之 提取文件名和目录名的一些方法总结

    Linux shell 之 提取文件名和目录名的一些方法总结

    本篇文章主要介绍了Linux shell 之 提取文件名和目录名的一些方法总结,具有一定的参考价值,有兴趣的可以了解一下。
    2017-01-01

最新评论