Bash 脚本中的多个 if 条件
本篇文章将讨论 bash 中的条件结构,尤其是具有单个和多个条件的 if
条件。
Bash 编程简介
Bash 是 UNIX 和 Linux 操作系统中的一个简单的命令行解释器。这个解释器允许我们使用命令行运行一些命令,这些命令可以通过在一个称为脚本的文件中键入它们来共同运行。
shell 脚本只不过是 bash 命令的集合,可以在 bash 上单独运行或写入脚本文件,然后,该脚本文件可以由 bash 执行。两种情况下的结果将保持不变。
Bash 是开发人员的关键工具,通常用于自动执行需要频繁执行的重复性任务。Bash 编程很容易学习,只需要基本的 bash 命令知识。
编写 Bash 脚本
Bash 脚本写在一个扩展名为 .script
的文件中。尽管 Linux 是一个无扩展的操作系统,但将此扩展添加到你的 bash 脚本中是一种很好的编程约定。
以下命令的功能是创建一个新文件。
vim myscript.sh
执行此命令后,将创建一个名为 myscript.sh
的文件并在 vim
编辑器中打开。下面是每个 bash 脚本的第一行。
#!/bin/bash
这一行被称为 shebang
,用来告诉操作系统 bash 解释器的位置。在这一行之后,bash 脚本的实际代码开始。
Bash 脚本中的条件语句
在 Bash 脚本中,我们可以有多种类型的条件语句,例如:
-
如果
语句 -
if .. then.. else
语句 -
if .. elif
语句 -
嵌套 if
语句 -
案例
陈述
我们将讨论具有单个和多个条件的 if
语句。在转向 if
语句之前,让我们看看 if
语句中一些常用的条件运算符。
运算符号 | 描述 |
---|---|
-eq |
如果两个数字相等,则返回 true 。 |
-lt |
如果一个数字小于另一个数字,它返回 true 。 |
-gt |
如果一个数字大于另一个数字,则返回 true 。 |
== |
如果两个字符串相等,则返回 true 。 |
!= |
如果两个字符串不相等,则返回 true 。 |
! |
它否定使用它的表达式。 |
使用带有一个条件的 if
语句
语法:
if [ condition-statement ];
then
Commands..
fi
让我们看一个使用 if
条件的示例 bash 脚本。
脚本:
#!/bin/bash
echo "Enter your marks out of 100: "
read marks
if [ $marks -gt 100 ]; then
printf "You have entered incorrect marks: $marks\n "
fi
输出:
使用带有多个条件的 if
语句
在前面的示例中,我们使用了单个条件。我们还可以应用多个条件并使用逻辑运算符 AND
或 OR
运算符将它们分开。
让我们看看下面的例子。
脚本:
#!/bin/bash
echo "Enter your marks out of 100: "
read marks
if [[ $marks -gt 100 && $marks -lt 0 ]]; then
printf "You have entered incorrect marks: $marks\n "
fi
输出:
相关文章
如何在 CentOS 中获取 IP 地址
发布时间:2023/05/04 浏览次数:108 分类:操作系统
-
这篇简短的文章是对 CentOS 的一个简短介绍,然后简要讨论了我们如何使用命令行界面 (CLI) 在 CentOS 中获取服务器 IP 地址。
在 Linux 中更新 YUM
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
本文介绍了 Linux 中的 yum update 命令。本文将教我们如何在 Linux 中更新 YUM,以及如何在 Linux 系统上安装、更新、删除、查找和管理包。
在 Linux 中安装 Deb 文件
发布时间:2023/05/04 浏览次数:130 分类:操作系统
-
本文介绍如何在 Linux 中安装 deb 文件。在这篇 Linux 文章中,我们将学习如何在 Linux 系统上安装 .deb(Debian 软件包)文件。 我们还将看到如何在安装后删除 .deb 文件。
Linux 中的 lsof 命令
发布时间:2023/05/04 浏览次数:82 分类:操作系统
-
在这篇 Linux 文章中,我们将了解 Linux 操作系统中的 lsof 命令。 我们将看到如何在 Linux 中将此命令用于不同目的。
Linux 解决不能执行二进制文件问题
发布时间:2023/05/04 浏览次数:187 分类:操作系统
-
在本文中,我们将学习如何在 Linux 中执行二进制文件。 如果 Linux 无法执行二进制文件,我们还将学习如何解决错误。
Linux 中错误 Mesg: Ttyname Failed: Inappropriate Ioctl for Device Error
发布时间:2023/05/04 浏览次数:145 分类:操作系统
-
本文介绍如何在 Linux 中解决 mesg: ttyname failed: inappropriate ioctl for device 错误。在 Linux 中,这个错误是由于默认的 vagrant 配置 config.ssh.shell 与 bash -l 交互导致的。
Linux 中的 ps aux 命令
发布时间:2023/05/04 浏览次数:69 分类:操作系统
-
本篇文章将讨论 Linux 中的 ps aux 命令。如果将 aux 快捷方式与 ps 命令一起使用,它将显示用户需要的最多信息,并可以为您提供系统运行进程的当前状态。
Linux 中的 NTP
发布时间:2023/05/04 浏览次数:137 分类:操作系统
-
本篇文章将讨论 Linux 中的 ntp。NTP 是大多数 IT 基础设施使用的核心协议。 使用它的目的是同步日期和时间信息。
在 Bash 中创建进度条
发布时间:2023/05/04 浏览次数:164 分类:操作系统
-
这是有关在 Bash 中创建进度条以显示正在运行的命令或进程的进度的指南。本文将探讨在 Bash(Linux 和 macOS 的默认 shell)中向 shell 脚本添加进度条的几种方法。使用 pv 命令在 Bash 中创建进度条