Bash case声明(bash case语句)

linux Bash case声明 当您在shell中有多个不同的选择时,Bash case语句可用于简化复杂的条件。使用case语句而不是嵌套的if语句将让您使bash脚本更易读,更易于维护。在本教程中,我们将介绍Bash案例语句的基础知识,并向您展示如何在shell脚本中使用它们。 By myfreax 28 Aug 2019

如果你在shell带有好多个不一样的选择时,Bash case语句适用于简单繁琐的规范。运用case语句并非置入的if语句将使你使bash脚本更最易读,更容易维修保养。

Bash case语句与Javascript或C switch语句具有相仿这一概念。重要区别是,与C switch语句不一样,Bash case语句一旦找到一个并执行和本模式关系语句,就不会继续搜索模式匹配。

在教学中,我们在这里详解Bash案例语句基本知识,同时向大伙儿呈现如何在shell脚本中运用她们。

case句法

Bash case语句采用以下方法:

case EXPRESSION in
  PATTERN_1)
    STATEMENTS
    ;;
  PATTERN_2)
    STATEMENTS
    ;;
  PATTERN_N)
    STATEMENTS
    ;;
  *)
    STATEMENTS
    ;;
esac
  • 每一个case语句都以case关键字脚后跟case表达式和关键字逐渐in。该语句以esac关键字结尾。
  • 您可以使用由|运算符分隔的好多个模式。)终止模式文件目录。
  • 模式可以包含特殊字符。
  • 模式及其相关命令称作子句。
  • 每一个规范必须以;; 结束。
  • 推行与匹配表达式的第一模式相匹配命令。
  • 一般做法就是使用通配符星号(*作为最终模式来定义默认情况。这种模式总是会匹配的。
  • 如果没有匹配的模式,则返回状况为零。要不然,返回情况是开展的命令的退出状况。

case案例

以下需在bash脚本中运用case语句的案例,该脚本将打印出特殊国家/区域内的官方用语:

#!/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

该脚本将要求您输入国家/地区。例如,倘若键入“Lithuania”,这将会匹配第一个模式,并且echo将运作该子句中的命令。

该脚本将打印出以下导出来:

Enter the name of a country: Lithuania
The official language of Lithuania is Lithuanian

假如你键入国家/地区与默认使用通配符星号标识之外的任何其他模式都不匹配,那般让我们指定为葡萄牙,该脚本将在默认子句中推行echo命令。

Enter the name of a country: Argentina
The official language of Argentina is unknown

结论

至今为止,您应该更好的了解如何编写bash case语句。她们通常用于从命令早已传送数据给shell脚本。例如,init脚本运用case语句来运作,停止或重启服务新项目。

如果您有任何问题或意见和建议,请随时。

如果你喜欢大伙儿的内容可以选择在下方二维码中捐赠大伙儿,或者点击广告提供支持,感谢你的支持

LINUX

Linux Bash shell until循环(bash shell脚本第一行)

2023-1-19 10:09:07

LINUX

Linux userdel命令删除/移除用户(手游方舟多少级才可以去毒气洞刷等级)

2023-1-19 10:14:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索