Linux shell script switch...case All In One

发布时间 2023-05-03 15:51:30作者: xgqfrms

Linux shell script switch...case All In One

case...in...esac

case ... esac

case ... esac 为多选择语句,与其他语言中的 switch ... case 语句类似,是一种多分支选择结构;
每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case ... esac 语句,
esac(就是 case 反过来)作为结束标记。

可以用 case 语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。

case 工作方式如上所示,取值后面必须为单词 in,每一模式必须以右括号结束。
取值可以为变量常数,匹配发现取值符合某一模式后,其间所有命令开始执行直至 ;;。

取值将检测匹配的每一个模式。
一旦模式匹配,则执行完匹配模式相应命令后不再继续其他模式。
如果一匹配模式,使用星号 * 捕获该值,再执行后面的命令。

https://www.runoob.com/linux/linux-shell-process-control.html

demos

image

# export N=1
export N=3

# ✅
case "$N" in
  1)
    echo 'case 1 数字';;
  2)
    echo 'case 2 数字';;
  *)
    echo 'default case 数字 *'
    echo 'error exit ❌'
    exit 1
  ;;
esac
#!/usr/bin/env bash

# export USER="pi"
# echo "user = $USER"

# 参数 1
# echo "\$1 = $1"

# export N=1
# case 1 数字
# suceess exit ✅

export N=3
# default case 数字 *
# error exit ❌

# ✅
case "$N" in
  1)
    echo 'case 1 数字';;
  2)
    echo 'case 2 数字';;
  *)
    echo 'default case 数字 *'
    echo 'error exit ❌'
    exit 1
  ;;
esac

echo 'suceess exit ✅'
exit 0



<<EOF


# ✅
case "$N" in
  1)
    echo 'case 1'
  ;;
  2)
    echo 'case 2'
  ;;
  *)
    echo 'default case 数字 *'
  ;;
esac

EOF


hash bang env

#!\usr\bin\env bash
# ❌

#!/usr/bin/env bash
✅

export N=1
# case 1 数字
# suceess exit ✅

# ✅
case "$N" in
  1)
    echo 'case 1 数字';;
  2)
    echo 'case 2 数字';;
  *)
    echo 'default case 数字 *'
    echo 'error exit ❌'
    exit 1
  ;;
esac

echo 'suceess exit ✅'
exit 0

image

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!