Linux Shell 脚本中的 Case 语句:条件判断和模式匹配
在 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,则输出 '其他'。
原文地址: https://www.cveoy.top/t/topic/p0LK 著作权归作者所有。请勿转载和采集!