Shell 脚本 101:Shell 脚本中的切换案例

shell脚本中的切换大小写 是一种有效的替代方案 if-elif-else 语句 我们之前学到的。 switch case 语句的概念是我们为语句提供不同的情况(条件),当它们被满足时,将执行特定的命令块。 让我们学习如何创建一个 switch case 块以及它如何在日常应用中对我们有用。

目录

Shell 脚本中 Switch Case 的基本语法

shell 脚本中的 switch case 将变量作为参数,然后检查变量的模式匹配。 看看下面的语法:

case expression/variable in
    pattern1)
        do-something-here 
        ;;
    pattern2)
        do-something-here 
        ;;
esac

假设我们要检查变量是否与名称匹配。 下面是一个示例 switch case 语句的样子:

#!/bin/bash
name="HowLinux"

case $name in
        "Linux")
                echo "Not quite right"
                ;;
        "HowLinux")
                echo "That's right!"
                ;;
esac
开关盒输出

如您所见,字符串“That’s right!” 被打印出来,因为我们的变量匹配那个情况。 现在让我们继续讨论 switch case 语句的一些实际应用 bash.

开关盒的实际应用

在为任何目的创建脚本时,我们可能还需要提供一些可以作为参数传递给脚本的脚本选项。 这是我们的开关盒可以很容易地使用的地方。 我们该怎么做呢? 让我们创建一个我们自己的脚本,它接受参数并基于它输出值。

我要做的是创建一个脚本,允许我们根据传递给它的参数创建文件或删除文件。 但是由于我们无法处理某人可能作为参数传递的所有内容,因此我们将使用星号

#!/bin/bash
case $1 in
        "--create")
                echo "Creating new file $2"
                echo
                touch $2
                ;;
        "--delete")
                echo "Deleting file $2"
                echo
                rm $2
                ;;
        *)
                echo "Not a valid argument"
                echo
                ;;
esac

运算符捕获传递给它的任何其他参数并打印错误消息。 上面的脚本接受一个参数为 -创造 或者 -删除

开关盒真实世界使用

开关盒真实世界使用

结论

这就是我们关于 shell 脚本中 switch case 的简短教程! 我希望您已经很好地学习了案例陈述,并且现在已经准备好开始使用我们之前学到的所有内容来创建一些让您的生活更轻松的高级脚本! 随着我们的进展,我们将继续添加越来越多的功能,我相信在本系列结束时,您将成为 shell 脚本专家!

希望这对您有所帮助。 如果您有任何问题,请随时在下面添加评论!