Bash Goto 语句
本文解释了 goto
或跳转语句及其在 Bash 中的等价物。
什么是 goto
语句
goto
语句也称为跳转语句,用于在程序中从一个代码行跳转到函数内的特定代码行。例如,从第 8 行跳转到第 5 行执行程序。
goto
语句有时也被视为无条件跳转。goto
语句的使用在编程中被认为是一种不好的做法,因为 goto
语句使程序难以理解和难以修改。
Bash 中是否有 goto
语句
没有, Bash 中没有 goto
语句。Bash 没有 goto
运算符。
使用 goto
语句在编程中是一种不好的做法,但它对于解决 Bash 脚本中的不同问题非常有帮助。使用 goto
语句可以帮助我们解决 Bash 脚本中的任务。
我们在 Bash 中提出了一些不使用 goto
语句就很难解决的情况。例如,我们有一个很长的 Bash 脚本,需要数小时或数天才能运行。
在这种情况下,我们使用 Bash 脚本中的 goto
语句来节省时间。当我们调试代码时,在 Bash 脚本中使用 goto
语句非常有用。
Bash 中 goto
语句的不同替代方案
在 Bash 中没有直接的等价物,但是我们可以通过不同的替代方案在 Bash 脚本中使用 goto
语句。我们在 Bash 脚本中使用 goto
语句,因为它有助于执行长脚本。
在长的 Bash 脚本中使用 goto
语句可以帮助我们节省时间。如果我们不使用 goto
语句,就很难处理长的 Bash 脚本。
让我们了解一个类似于 Bash 中的 goto
语句的 Bash 脚本。考虑 Bash 中的以下代码。
#!/bin/bash
function goto
{
label=$1
cmd=$(sed -n "/$label:/{:a;n;p;ba};" $0 | grep -v ':$')
eval "$cmd"
exit
}
start=${1:-"start"}
goto $start
start:
# your script goes here...
x=100
goto bar
mid:
x=101
echo "Mid is printed"
bar:
x=${x:-10}
echo x is $x
我们通过 Vim 编辑器使用命令 vi goto.sh
创建一个 Bash 文件,并将上面的代码复制粘贴到文件中。
然后我们使用命令 chmod +x goto.sh
授予文件执行权限。
我们使用命令 ./goto.sh
执行 Bash 文件。
输出将给我们 x is 100
。如果我们想跳转到代码的中间,我们需要使用命令 ./goto.sh mid
。
输出将给出 Mid is print
和 x is 101
。如果我们想执行代码栏,我们使用命令 ./goto.sh bar
。
在输出中,它会给我们 x is 10
。这样,脚本就像 goto
语句一样工作。
相关文章
如何在 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 中创建进度条