迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

Bash Goto 语句

作者:迹忆客 最近更新:2023/03/17 浏览次数:

本文解释了 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 文件,并将上面的代码复制粘贴到文件中。

创建 goto sh 文件

然后我们使用命令 chmod +x goto.sh 授予文件执行权限。

授予 Bash 文件执行权限

我们使用命令 ./goto.sh 执行 Bash 文件。

执行 Bash 文件

输出将给我们 x is 100。如果我们想跳转到代码的中间,我们需要使用命令 ./goto.sh mid

执行 Bash 文件的代码中间

输出将给出 Mid is printx is 101。如果我们想执行代码栏,我们使用命令 ./goto.sh bar

执行 Bash 文件的代码

在输出中,它会给我们 x is 10。这样,脚本就像 goto 语句一样工作。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 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 中的 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 中创建进度条

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便