Bash 基础知识系列 #7:If Else 语句

吾爱主题 阅读:158 2024-04-05 15:08:36 评论:0

Bash 支持 if-else 语句,以便你可以在 shell 脚本中使用逻辑推理。

通用的 if-else 语法如下:

if [ expression ]; then
  ## 如果条件为真则执行此块,否则转到下一个
elif [ expression ]; then
  ## 如果条件为真则执行此块,否则转到下一个
else 
  ## 如果以上条件都不成立,则执行此块
fi

正如你所注意到的:

  • elif 用于 “否则如果” 类型的条件。
  • if-else 条件始终以 fi 结尾。
  • 使用分号 ; 和 then 关键字

在展示 if 和 else-if 的示例之前,我先分享一下常见的比较表达式(也称为测试条件)。

测试条件

以下是可用于数字比较的测试条件运算符:

条件

当满足以下条件时为真

$a -lt $b

$a < $b$a 小于 $b

$a -gt $b

$a > $b$a 大于 $b

$a -le $b

$a <= $b$a 小于等于 $b )

$a -ge $b

$a >= $b ($a 大于等于 $b

$a -eq $b

$a == $b

$a -ne $b

$a != $b

如果你要比较字符串,可以使用以下测试条件:

条件

当满足以下条件时为真

"$a" = "$b"

$a 与 $b 相同

"$a" == "$b"

$a 与 $b 相同

"$a" != "$b"

$a 与 $b 不同

-z "$a"

$a 为空字符串

文件类型检查也有条件:

条件

当满足以下条件时为真

-f $a

$a 是一个文件

-d $a

$a 是一个目录

-L $a

$a 是一个链接

现在你已经了解了各种比较表达式,让我们在各种示例中看看它们的实际应用。

在 Bash 中使用 if 语句

让我们创建一个脚本来告诉你给定的数字是否为偶数。

这是我的脚本,名为 even.sh

#!/bin/bash
read -p "Enter the number: " num
mod=$(($num%2))
if [ $mod -eq 0 ]; then
	echo "Number $num is even"
fi

当模数运算(%)整除给定数字(本例中为 2)时,它返回零。

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容