mirror of
https://github.com/tldr-pages/tldr.git
synced 2025-04-29 23:24:55 +02:00
20 lines
915 B
Markdown
20 lines
915 B
Markdown
# case
|
|
|
|
> case ... esac 与其他语言中的 switch ... case 语句类似,是一种多分枝选择结构。
|
|
> 更多信息:<https://www.gnu.org/software/bash/manual/bash.html#index-case>.
|
|
|
|
- 通过字符串字面量判断执行分支:
|
|
|
|
`case {{$计数规则}} in {{字数}}) {{wc -w README}} ;; {{行数}}) {{wc -l README}} ;; esac`
|
|
|
|
- 使用 | 组合匹配模式,使用 * 作为默认匹配:
|
|
|
|
`case {{$计数规则}} in {{[wW]|字数}}) {{wc -w README}} ;; {{[lL]|行数}}) {{wc -l README}} ;; *) {{echo "无效输入"}} ;; esac`
|
|
|
|
- 允许匹配多个模式:
|
|
|
|
`case {{$动物}} in {{猫}}) echo "这是一只猫" ;;& {{猫|狗}}) echo "这是一只猫或狗" ;;& *) echo "其他动物" ;; esac`
|
|
|
|
- 继续执行下一个模式的命令而不检查模式:
|
|
|
|
`case {{$动物}} in {{猫}}) echo "这是一只猫" ;& {{狗}}) echo "这是一只狗或猫的匹配结果" ;& *) echo "其他动物" ;; esac`
|