迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中检查语法

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

本文讨论了在不运行脚本的情况下检查 Bash 脚本是否存在语法问题的方法。

语法错误是由于代码中的某些语法或拼写错误造成的。 在其他编程语言的现代编译器中,编译器甚至在运行程序之前就会突出显示此类错误。

在 Bash 脚本中情况并非如此,因为 Bash 是一个命令行解释器。 因此,我们需要单独检查语法错误。

可以有不同的技术来检查语法问题,如下所示。


使用在线 ShellCheck 编辑器

有一个在线工具 Shell Check 可以检查脚本的语法错误。

shell 检查

在上图中,有两个独立的窗口。 一个是代码编辑器,下半部分通过指定行号显示代码中的错误和警告列表。

ShellCheck 编辑器对于初学者和专家级程序员来说是一个非常有用的工具,因为它会在执行代码之前检测代码中的小到高级问题。


使用 bash -n(noexec 模式)命令

您还可以将 -n 标志 (noexec) 与 bash 命令一起使用来检查脚本中的错误。

bash -n [script-name]

这将只读取脚本中的所有命令并检查错误而不运行它们。 如果命令中有错误,它会显示出来; 否则,不会显示任何输出。

例如,考虑以下脚本。

示例脚本

请注意 ,我们错过了 if 语句的结束(即,使用 fi 而不是 if)。 所以,它会给出错误。

bash -n 命令显示的错误


使用 sh 命令

另一个检查语法错误的命令是:

sh -n [script-name]

我们将为上一节中讨论的同一脚本运行命令并检查错误。

sh 命令显示的错误

上一篇:使用 Bash 对文本文件中的数字列表求和

下一篇:没有了

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

本文地址:

相关文章

使用 Bash 对文本文件中的数字列表求和

发布时间:2023/06/11 浏览次数:109 分类:操作系统

本篇文章将介绍使用 Bash 脚本对文件中的数字列表求和的多种方法。 第一种方法涉及使用粘贴命令,我们将讨论两种情况:使用现有文件和使用标准输入读取文件。

在 Bash 中传递所有参数

发布时间:2023/06/11 浏览次数:197 分类:操作系统

在 Bash 脚本中,我们主要使用语法 $1 $2 $3 ... $N 在函数中传递变量。此外,我们将看到必要的示例和解释,以使主题更容易理解。在 Bash 中传递所有参数

在 Bash 中解析 XML

发布时间:2023/06/11 浏览次数:109 分类:操作系统

本文将展示我们如何通过 Bash 解析 XML。我们将在这里讨论两个库。 我们的第一个库是 xmllint,第二个库称为 XMLStarlet。在 Bash 中使用 xmllint 解析 XML

Bash 脚本中的 Echo Tab 字符

发布时间:2023/06/11 浏览次数:198 分类:操作系统

本文演示了如何回显特殊字符(例如制表符),否则这些字符会在 Bash 脚本中转换为单个空格字符。 这扩展到 Bash 以外的 shell(例如 zsh)。

在 Bash 中回显到 stderr

发布时间:2023/06/11 浏览次数:102 分类:操作系统

本文将了解 stderr 及其功能。 此外,我们将查看一些示例,这些示例将使该主题更容易理解。在 Bash 中回显到 stderr 命令 stderr 主要用于在执行任何命令期间保持错误的重新编码。

在 Bash 中连接多个文件

发布时间:2023/06/10 浏览次数:170 分类:操作系统

有时出于各种目的,我们需要将多个文件连接成一个文件。 在 Bash 脚本中,很容易完成这项任务。在 Bash 中连接多个文件

在 Bash 中打开 Emacs

发布时间:2023/06/10 浏览次数:50 分类:操作系统

本文将展示我们如何在 Bash 中打开 Emacs。 我们还将讨论如何安装 Emacs 文本编辑器。在您的系统中安装 EMACS 假设您的系统中没有 Emacs。

在 Bash 中清除终端屏幕

发布时间:2023/06/10 浏览次数:101 分类:操作系统

有多种方法可以在 bash 脚本中清除终端。 本文将讨论 3 种清除终端的方法。使用 tput reset 清除终端屏幕 第一种方法使用关键字 tput reset 来清除屏幕。

在 Bash 中使用双管道和单管道

发布时间:2023/06/10 浏览次数:122 分类:操作系统

在本文中,我们将了解如何使用双管道(也称为 OR)和 Bash 脚本中的管道。 此外,我们将看到必要的示例和解释,以使主题更容易理解。在Bash中使用双管道 ||

扫一扫阅读全部技术教程

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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便