千家信息网

怎么在Linux中启用Shell脚本的调试模式

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,本篇内容主要讲解"怎么在Linux中启用Shell脚本的调试模式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么在Linux中启用Shell脚本的调试模
千家信息网最后更新 2025年02月04日怎么在Linux中启用Shell脚本的调试模式

本篇内容主要讲解"怎么在Linux中启用Shell脚本的调试模式",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么在Linux中启用Shell脚本的调试模式"吧!

脚本是存储在一个文件的一系列命令。在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令。

在学习脚本或写脚本的初期阶段,我们通常从写小脚本或者几行命令的短脚本开始,调试这样的脚本时我们通常无非就是通过观察它们的输出来确保其正常工作。

然而,当我们开始写非常长或上千行命令的高级脚本,例如改变系统设置的脚本,在网络上执行关键备份 等等,我们会意识到仅仅看脚本输出是不足以在脚本中找到 Bug 的!

因此,在 Linux 系列中这篇介绍 Shell 脚本调试, 我们将看看如何启用 Shell 脚本调试,然后在之后的系列中解释不同的 Shell 脚本调试模式以及如何使用它们。

如何开始写一个脚本

一个脚本与其它文件的区别是它的首行,它包含 #! (She-Bang - 释伴:定义文件类型)和路径名(解释器路径),通知系统该文件是一个命令集合,将被指定程序(解释器)解释。

下面是不同类型脚本 首行 示例:

#!/bin/sh          [sh 脚本] #!/bin/bash        [bash 脚本]  #!/usr/bin/perl    [perl 程序] #!/bin/awk -f      [awk 脚本]

注意:如果脚本仅包含一组标准系统命令,没有任何内部 Shell 指令,首行或 #! 可以去掉。

如何在 Linux 操作系统执行 Shell 脚本

调用一个脚本脚本的常规语法是:

$ 脚本名 参数1 ... 参数N

另一种可能的形式是明确指定将执行这个脚本的 Shell,如下:

$ shell 脚本名 参数1 ... 参数N

示例:

$ /bin/bash   参数1 ... 参数N     [bash 脚本] $ /bin/ksh   参数1 ... 参数N      [ksh 脚本] $ /bin/sh   参数1 ... 参数N       [sh 脚本]

对于没有 #! 作为首行,仅包含基础系统命令的脚本,示例如下:

### 脚本仅包含标准系统命令 cd /home/$USER mkdir tmp echo "tmp directory created under /home/$USER"

使它可执行并运行,如下:

$ chmod +x  脚本名 $ ./脚本名

启用 Shell 脚本调试模式的方法

下面是主要的 Shell 脚本调试选项:

  • -v (verbose 的简称) - 告诉 Shell 读取脚本时显示所有行,激活详细模式。

  • -n (noexec 或 no ecxecution 简称) - 指示 Shell 读取所有命令然而不执行它们,这个选项激活语法检查模式。

  • -x (xtrace 或 execution trace 简称) - 告诉 Shell 在终端显示所有执行的命令和它们的参数。 这个选项是启用 Shell 跟踪模式。

1、 改变 Shell 脚本首行

***个机制是改变 Shell 脚本首行,如下,这会启动脚本调试。

#!/bin/sh 选项

其中, 选项可以是上面提到的一个或多个调试选项。

2、 调用 Shell 调试选项

第二个是使用如下调试选项启动 Shell,这个方法也会打开整个脚本调试。

$ shell 选项 参数1 ... 参数N

示例:

$ /bin/bash 选项 参数1 ... 参数N

3、 使用 Shell 内置命令 set

第三个方法是使用内置命令 set 去调试一个给定的 Shell 脚本部分,如一个函数。这个机制是重要的,因为它让我们可以去调试任何一段 Shell 脚本。

我们可以如下使用 set 命令打开调试模式,其中选项是之前提到的所有调试选项。

$ set 选项

启用调试模式:

$ set -选项

禁用调试模式:

$ set +选项

此外,如果我们在 Shell 脚本不同部分启用了几个调试模式,我们可以一次禁用所有调试模式,如下:

$ set -

到此,相信大家对"怎么在Linux中启用Shell脚本的调试模式"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

脚本 参数 命令 模式 系统 文件 方法 示例 解释 不同 学习 内容 机制 标准 激活 程序 类型 终端 解释器 语法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 北京安信超维网络技术有限公司 行政审批局网络安全应急处置方案 药品广告数据库明兴清开灵 惠州数据库培训机构 软件开发公司用什么执照 四川服务器是哪个区的服务器 数据库信息慢 常见的无线网络安全防护技术 信息网络安全系统PPT课件 广州永泰学软件开发 网络安全需要多方共同应对 盛世实业网络技术 苏州服务器硬盘介绍 万达通 服务器错误 陌陌老是网络安全验证失败 网络安全诉求中源码交付 mevan服务器配置 武冈计算机网络技术经验丰富 加拿大天然药物数据库 网络安全基本属性范围 奥创服务器 江苏ntp网络时钟服务器云主机 volvo随车管家服务器 加强网络安全教育和培训 自媒体如何维护网络安全 吴江区正规软件开发品质保障 计算机网络技术的毕业论题 网络安全公司简介百度百科 使命召唤国服服务器所在城市 网络安全议论文英语作文
0