在 Linux Shell 脚本中,可以使用 case 语句来实现类似于 switch 语句的功能。case 语句用于根据不同的条件执行不同的代码块。

语法如下:

case 变量 in
模式1)
    代码块1
    ;;
模式2)
    代码块2
    ;;
模式3)
    代码块3
    ;;
*)
    默认代码块
    ;;
esac

在 case 语句中,变量的值会与每个模式进行匹配。一旦有匹配的模式,对应的代码块将会被执行。如果没有匹配的模式,会执行默认的代码块。

模式可以是一个具体的值,也可以使用通配符进行模式匹配。常用的通配符包括 * 表示任意字符, ? 表示单个字符, [...] 表示字符范围, !(...) 表示除了指定字符以外的任意字符, @(...) 表示指定的多个字符中的一个。

以下是一个简单的例子,根据用户输入的数字,输出对应的英文单词:

#!/bin/bash

echo '请输入一个数字:'
read num

case $num in
1)
    echo 'one'
    ;;
2)
    echo 'two'
    ;;
3)
    echo 'three'
    ;;
*)
    echo '其他'
    ;;
esac

在上面的例子中,根据用户输入的数字,判断其对应的英文单词并输出。如果输入的数字是 1,则输出 'one';如果输入的数字是 2,则输出 'two';如果输入的数字是 3,则输出 'three';如果输入的数字不是 1、2、3,则输出 '其他'。

Linux Shell 脚本中的 Case 语句:条件判断和模式匹配

原文地址: https://www.cveoy.top/t/topic/p0LK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录