Bash Goto 语句

Abid Ullah 2023年1月30日
  1. 什么是 goto 语句
  2. Bash 中是否有 goto 语句
  3. Bash 中 goto 语句的不同替代方案
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 文件,并将上面的代码复制粘贴到文件中。

创建 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 语句一样工作。

作者: Abid Ullah
Abid Ullah avatar Abid Ullah avatar

My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.

LinkedIn