热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

case语句

case语句结构:caseSWITCHinvalue1)statement;;value2)statement;;*)stateme

case语句结构:


case SWITCH in

value1)

statement

...

;;

value2)

statement

...

;;

*)

statement

...

;;

esac


联系:

1.接受从键盘上输入的字符,并作出判断是数字、大小写字母或特殊字符。

#!/bin/bash

case $1 in

[0-9])

echo "a digit"

;;

[A-Z])

echo "a Upper"

;;

[a-z])

echo "a Lower"

;;

*)

echo "a Special"

;;

esac


2.写一个脚本,接受参数 start,stop、restart,status其中之一,并输出接受的参数。

#!/bin/bash

case $1 in

start)

echo "start"

;;

stop)

echo "stop"

;;

restart)

echo "restart"

;;

status)

echo "status"

;;

*)

echo "Usage:`basename $0` (start|stop|restart|status)";;

esac

3.写一个脚本,可以接受选项及参数,而后能获取每一个选项及选项的参数,并能根据选项的参数做出特定的操作。例如:

test.sh --add tom --del --tom -v|--verbose -h|--hep


#!/bin/bash

DEBUG=0

ADD=0

DEL=0


for I in `seq 0 $#`;do

if [ $# -ge 0 ];then

case $1 in

-v|--verbose)

DEBUG=1

shift

;;

-h|--help)

echo "Usage: `basename $0` -add USER --del USER -v|--verbose -h|--help

"

exit 0

;;

--add)

ADD=1

ADDUSERS=$2

shift 2

;;

--del)

DEL=1

DELUSERS=$2

shift 2

;;

*)

echo "Usage: `basename $0` -add USER --del USER -v|--verbose -h|--help"

exit 7;;

esca

fi

done


if [$ADD -eq 1];then

for USERS in `echo $ADDUSERS |sed ‘s@,@@g‘`;do

if id $USERS &> /dev/null;then

[$DEBUG -eq 1] && "$USERS exists"

else

useradd $USERS

[$DEBUG -eq 1] && "$USERS add ok!"

fi

done

fi


if [$DEL -eq 1];then

for USERS in `echo $DELUSERS |sed ‘s@,@@g‘`;do

if id $USERS &> /dev/null;then

userdel -r $USERS

[$DEBUG -eq 1] && "$USERS del ok!"

else

[$DEBUG -eq 1] && "$USERS not exists!"

fi

done

fi


4.写一个脚本showlogged.sh,其语法格式为:

showlogged.sh -v -c -h|help

其中,-h选项只能单独使用,用于显示帮助信息,-c|--count 选项显示当前系统上登陆的所有用户的总个数。如果同时使用了-v|--verbose 选项,则既显示同时登陆的用户数,又显示登陆的用户的相关信息。如:

Logged users:4、

they are:

root tty2 Feb 10 02:41

root pts/1 Mar  8 08:36 (172.16.100.177)

root pts/5 Mar  8 07:56 (172.16.100.177)

hadoop pts/5 Mar  8 09:16 (172.16.100.177)


#!/bin/bash

declare -i USUM=0

declear -i SHOWUSERS=0


for I in `seq 0 $#`;do

if [ $# -ge 0 ];then

case $1 in

-h|--help)

echo "Usage `basename $0` -v -c -h|--help"

exit 0

;;

-v|--verbose)

let SHOWUSERS=1

shift

;;

-c|--conut)

let USUM=1

shift

;;

*)

echo "Usage `basename $0` -v -c -h|--help"

exit 7

;;

esac

fi

done


if [ $USUM -eq 1 ];then

echo "Logged users:`who|wc -l`."

fi


if [ $SHOWUSERS -eq 1 ];then

echo "they are:"

who

fi


本文出自 “小私的blog” 博客,请务必保留此出处http://ggvylf.blog.51cto.com/784661/1604824

case语句


推荐阅读
  • LDAP服务器配置与管理
    本文介绍如何通过安装和配置SSSD服务来统一管理用户账户信息,并实现其他系统的登录调用。通过图形化交互界面配置LDAP服务器,确保用户账户信息的集中管理和安全访问。 ... [详细]
  • 使用 Git Rebase -i 合并多个提交
    在开发过程中,频繁的小改动往往会生成多个提交记录。为了保持代码仓库的整洁,我们可以使用 git rebase -i 命令将多个提交合并成一个。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 微软推出Windows Terminal Preview v0.10
    微软近期发布了Windows Terminal Preview v0.10,用户可以在微软商店或GitHub上获取这一更新。该版本在2月份发布的v0.9基础上,新增了鼠标输入和复制Pane等功能。 ... [详细]
  • 蒜头君的倒水问题(矩阵快速幂优化)
    蒜头君将两杯热水分别倒入两个杯子中,每杯水的初始量分别为a毫升和b毫升。为了使水冷却,蒜头君采用了一种特殊的方式,即每次将第一杯中的x%的水倒入第二杯,同时将第二杯中的y%的水倒入第一杯。这种操作会重复进行k次,最终求出两杯水中各自的水量。 ... [详细]
  • 经过一年的思考,我发现自己对开发的兴趣并不浓厚,而对算法研究则更加热衷。本文将探讨开发与算法之间的本质差异,并分享我的未来学习计划。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • Bootstrap 缩略图展示示例
    本文将展示如何使用 Bootstrap 实现缩略图效果,并提供详细的代码示例。 ... [详细]
  • 本文介绍了一种支付平台异步风控系统的架构模型,旨在为开发类似系统的工程师提供参考。 ... [详细]
  • Manacher算法详解:寻找最长回文子串
    本文将详细介绍Manacher算法,该算法用于高效地找到字符串中的最长回文子串。通过在字符间插入特殊符号,Manacher算法能够同时处理奇数和偶数长度的回文子串问题。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • Python多线程详解与示例
    本文介绍了Python中的多线程编程,包括僵尸进程和孤儿进程的概念,并提供了具体的代码示例。同时,详细解释了0号进程和1号进程在系统中的作用。 ... [详细]
  • 本文详细介绍了Linux系统中用于管理IPC(Inter-Process Communication)资源的两个重要命令:ipcs和ipcrm。通过这些命令,用户可以查看和删除系统中的消息队列、共享内存和信号量。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 CMD 批处理脚本进行文件操作,包括将指定目录下的 PHP 文件重命名为 HTML 文件,并将这些文件复制到另一个目录。 ... [详细]
author-avatar
艾你如斯i
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有