安卓系统

重击案声明

反制中國強過國安法 川普宣布取消港特殊待遇-民視新聞

反制中國強過國安法 川普宣布取消港特殊待遇-民視新聞

目录:

Anonim

当您有多种选择时,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语句来启动,停止或重新启动服务。

bash终端