反制中國強過國安法 川普宣布取消港特殊待遇-民視新聞
目录:
当您有多种选择时,Bash case语句通常用于简化复杂的条件。 使用case语句而不是嵌套的if语句将帮助您使bash脚本更具可读性且易于维护。
Bash case语句与Javascript或C switch语句具有相似的概念。 主要区别在于,与C switch语句不同,Bash case语句一旦找到与该模式关联的已执行语句,就不会继续搜索模式匹配。
在本教程中,我们将介绍Bash case语句的基础知识,并向您展示如何在shell脚本中使用它们。
案例陈述句法
Bash case语句采用以下形式:
case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac
- 每个case语句以
case关键字开头,后跟case表达式和in关键字。 该语句以esac关键字结尾。您可以使用以|分隔的多个模式|操作员。)运算符终止模式列表。模式可以有特殊字符。模式及其相关命令称为子句。每个子句必须以;;终止 执行与表达式匹配的第一个模式对应的命令,通常的做法是使用通配符星号(*)作为最终模式来定义默认大小写。 此模式将始终匹配。如果不匹配任何模式,则返回状态为零。 否则,返回状态是已执行命令的退出状态。
案例陈述示例
这是在bash脚本中使用case语句的示例,该示例将打印给定国家/地区的官方语言:
language.sh
#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac
将自定义脚本另存为文件,然后从命令行运行它。
bash languages.sh
该脚本将要求您输入一个国家。 例如,如果键入“立陶宛”,它将匹配第一个模式,并且该子句中的
echo
命令将被执行。
该脚本将输出以下输出:
Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian
Enter the name of a country: Argentina The official language of Argentina is unknown
结论
到目前为止,您应该对如何编写bash case语句有很好的了解。 它们通常用于从命令行将参数传递给Shell脚本。 例如,初始化脚本使用case语句来启动,停止或重新启动服务。







