Bash 支持 if-else 语句,以便你可以在 shell 脚本中使用逻辑推理。 通用的 if-else 语法如下:
正如你所注意到的: elif 用于 “否则如果” 类型的条件。fi 结尾。; 和 then 关键字在展示 if 和 else-if 的示例之前,我先分享一下常见的比较表达式(也称为测试条件)。 测试条件 以下是可用于数字比较的测试条件运算符:
如果你要比较字符串,可以使用以下测试条件:
文件类型检查也有条件:
现在你已经了解了各种比较表达式,让我们在各种示例中看看它们的实际应用。 在 Bash 中使用 if 语句 让我们创建一个脚本来告诉你给定的数字是否为偶数。 这是我的脚本,名为
当模数运算(
这是我运行脚本时显示的内容: Running a script with if statement example in bash 你是否注意到,当数字为偶数时,脚本会告诉你,但当数字为奇数时,脚本不会显示任何内容?让我们使用 else 来改进这个脚本。 使用 if else 语句 现在我在前面的脚本中添加了一条
让我们用相同的数字再次运行它: Running a bash script that checks odd even number 正如你所看到的,该脚本更好,因为它还告诉你该数字是否为奇数。 使用 elif(否则如果)语句 这是一个检查给定数字是正数还是负数的脚本。在数学中,0 既不是正数也不是负数。该脚本也检查了这一事实。
让我运行它来涵盖这里的所有三种情况: Running a script with bash elif statement 用逻辑运算符组合多个条件 到目前为止,一切都很好。但是你是否知道通过使用与(&&)、或(||)等逻辑运算符可以在一个条件中包含多个条件?它使你能够编写复杂的条件。 让我们编写一个脚本来告诉你给定的年份是否是闰年。 你还记得闰年的条件吗?它应该被 4 整除,但如果它能被 100 整除,那么它就不是闰年。但是,如果能被 400 整除,则为闰年。 这是我的脚本。
通过使用不同的数据运行脚本来验证脚本: Example of running bash script with logical operators in if statement 🏋️ 练习时间 让我们做一些练习吧 😃 练习 1:编写一个 Bash Shell 脚本,检查作为参数提供给它的字符串的长度。如果未提供参数,它将打印 “empty string”。 练习 2:编写一个 Shell 脚本来检查给定文件是否存在。你可以提供完整的文件路径作为参数或直接在脚本中使用它。 提示:文件使用 -f 选项 练习 3:通过检查给定文件是否是常规文件、目录或链接或者是否不存在来增强之前的脚本。 提示:使用 -f、-d 和 -L 练习 3:编写一个接受两个字符串参数的脚本。脚本应检查第一个字符串是否包含第二个参数的子串。 提示:请参阅上一章 Bash 字符串 我希望你喜欢 Bash 基础知识系列。在下一章中,你将了解如何在 Bash 中使用循环。继续编写 Bash! (题图:MJ/1e8f2f5c-9e47-4c84-b8c1-072808e9cf70) 作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:wxy |
|