linux里case命令,linux的switch命令(case)

linux的switch命令(case)作者:bin

在编写shell脚本时,经常会遇到,在一组可能的值中找到特定的值,这种情况下就会写出很多个if-then-else语句

这时我们可以使用case命令进行处理

case var in

parttern 1 | parttern2) commands1;;

parttern 3) commands2;;

*) commands3;;

esac

使用通配符*可以捕获所有与已知模式不匹配的值;

应用实例:

命令 ./test.sh -au zengbin -p 123456

使用-a -u -p等参数进行参数的传递(shift将$2变为$1,$3变为$2,依次往前,$0依然是文件名字)

while [ -n "$1" ]

do

case "$1" in

-a) echo "a命令";;

-u) echo "用户名为$2"

shift;;

-p) echo "密码为$2"

shift;;

--) shift

break;;

*) echo "未知命令$1";;

esac

shift

done

还可以使用如下方式简化(使用getopts命令可以”选项,参数间不用空格”:./test.sh -auzengbin -p123456)

#!/bin/bash

while getopts :au:p: opt

do

case "$opt" in

a) echo "a命令";;

u) echo "用户名为${OPTARG}";;

p) echo "密码为${OPTARG}";;

*) echo "未知命令$opt";;

esac

done

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值