iis服务器助手广告
返回顶部
首页 > 资讯 > 操作系统 >如何在Linux中启用Shell脚本的调试模式
  • 566
分享到

如何在Linux中启用Shell脚本的调试模式

2023-06-28 15:06:32 566人浏览 独家记忆
摘要

这篇文章的内容主要围绕如何在linux中启用shell脚本的调试模式进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux系统中脚本是一个可以储

这篇文章的内容主要围绕如何在linux中启用shell脚本的调试模式进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

在Linux系统中脚本是一个可以储存一个文件的一系列命令,用户可以反复调用该文件多次重新执行命令。

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

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

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

如何开始写一个脚本

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

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

  1. #!/bin/sh          [sh 脚本]

  2. #!/bin/bash        [bash 脚本]

  3. #!/usr/bin/perl    [perl 程序]

  4. #!/bin/awk -f      [awk 脚本]

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

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

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

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

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

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

示例:

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

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

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

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

  1. ### 脚本仅包含标准系统命令

  2. cd /home/$USER

  3. mkdir tmp

  4. echo "tmp directory created under /home/$USER"

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

  1. $ chmod +x  脚本名

  2. $ ./脚本名

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

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

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

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

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

1、 改变 Shell 脚本首行

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

  1. #!/bin/sh 选项

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

2、 调用 Shell 调试选项

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

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

示例:

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

3、 使用 Shell 内置命令 set

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

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

  1. $ set 选项

启用调试模式:

  1. $ set -选项

禁用调试模式:

  1. $ set +选项

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

  1. $ set -

关于启用 Shell 脚本调试模式,先讲这些。正如我们看到的,我们可以调试一整个 Shell 脚本或者特定部分脚本。

在此系列下面的两篇文章中,我们会举例介绍如何使用 Shell 脚本调试选项,进一步了解 详细、语法检查syntax checking、 跟踪tracing调试模式。

感谢你的阅读,相信你对“如何在Linux中启用Shell脚本的调试模式”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

--结束END--

本文标题: 如何在Linux中启用Shell脚本的调试模式

本文链接: https://www.lsjlt.com/news/320396.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何在Linux中启用Shell脚本的调试模式
    这篇文章的内容主要围绕如何在Linux中启用Shell脚本的调试模式进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!在Linux系统中脚本是一个可以储...
    99+
    2023-06-28
  • 怎么在Linux中启用Shell脚本的调试模式
    本篇内容主要讲解“怎么在Linux中启用Shell脚本的调试模式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Linux中启用Shell脚本的调试模式”吧!脚本是存储在一个文件的一系列命令...
    99+
    2023-06-16
  • Linux Shell脚本调试模式的方法有哪些
    这篇文章主要介绍“Linux Shell脚本调试模式的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux Shell脚本调试模式的方法有哪些”文章能帮助大家解决问题。如何开始写一个脚...
    99+
    2023-06-27
  • 如何实现Linux Shell脚本调试
    这篇文章主要讲解了“如何实现Linux Shell脚本调试”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何实现Linux Shell脚本调试”吧!一、调试脚本调试功能是每一种编程语言都应该...
    99+
    2023-06-09
  • 怎么在Shell脚本中执行语法检查调试模式
    这篇文章将为大家详细讲解有关怎么在Shell脚本中执行语法检查调试模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。启用 verbose 调试模式在进入本指导的重点之前,让我们简要地探索下 verbose...
    99+
    2023-06-16
  • 如何在Shell脚本中调用另一个脚本
    如何在Shell脚本中调用另一个脚本?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。假如有脚本 first.sh:#!/bin/bash#------------------...
    99+
    2023-06-09
  • shell中如何调用python脚本
    要在shell中调用Python脚本,可以使用以下命令:```python script.py```其中,`python`是Pyth...
    99+
    2023-10-10
    shell python
  • 如何在shell中循环调用hive sql 脚本
    本篇文章给大家分享的是有关如何在shell中循环调用hive sql 脚本,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。脚本tt.sh的内容如下:#!/bin/bashpara...
    99+
    2023-06-09
  • JAVA如何调用Shell脚本
    在实际项目中,Java有时候需要调用C写出来的东西,除了JNI以外,我认为一种比较好的方法是JAVA调用Shell。先把C写出来的make成可执行文件,然后再写一个shell脚本执行该可执行文件,最后是JAVA调用该shell脚本。JAVA...
    99+
    2023-05-31
    java shell脚本 ava
  • Linux中如何实现启动jar包的shell脚本
    这篇文章主要为大家展示了“Linux中如何实现启动jar包的shell脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中如何实现启动jar包的shell脚本”这篇文章吧。背景:项目设...
    99+
    2023-06-09
  • 怎么在Shell脚本中调用另一个脚本
    这期内容当中小编将会给大家带来有关怎么在Shell脚本中调用另一个脚本,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。forkfork 是最普通的, 就是直接在脚本里面用 path/to/foo.sh 来调...
    99+
    2023-06-09
  • python中如何调试脚本
    小编给大家分享一下python中如何调试脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!调试脚本我们可以在 模块的帮助下在 Python 脚本中设置断点。请按照...
    99+
    2023-06-27
  • linux如何在shell中使用vi模式
    这篇文章主要介绍了linux如何在shell中使用vi模式,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在计算和操作系统的庞大生态系统中有很多 shell。然而,在 Linu...
    99+
    2023-06-16
  • 如何在 Linux 中运行一个 Shell 脚本
    本篇内容介绍了“如何在 Linux 中运行一个 Shell 脚本”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在 Linux 中有两种运行 ...
    99+
    2023-06-15
  • 怎么在Shell脚本中跟踪调试命令的执行
    这篇文章主要介绍怎么在Shell脚本中跟踪调试命令的执行,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的例子展示了如...
    99+
    2023-06-16
  • Linux中如何自定义shell脚本启动jar包
    本篇内容主要讲解“Linux中如何自定义shell脚本启动jar包”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux中如何自定义shell脚本启动jar包”吧!一键启动、停止、重启 jav...
    99+
    2023-06-09
  • 如何在ASP中使用shell脚本?
    如何在ASP中使用Shell脚本? 在ASP中使用Shell脚本可以帮助我们实现一些比较复杂的操作,例如运行一些需要在命令行中执行的程序、执行一些系统级别的操作等等。本文将介绍如何在ASP中使用Shell脚本,并通过演示代码来帮助大家更好地...
    99+
    2023-07-27
    缓存 shell 异步编程
  • 如何在shell脚本中使用正则表达式
    这篇文章将为大家详细讲解有关如何在shell脚本中使用正则表达式,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。正则表达式的概念及特点:  正则表达式是对字符串操作的一种逻辑公式,就是用事先定...
    99+
    2023-06-20
  • linux中面试常用Shell脚本有哪些
    小编给大家分享一下linux中面试常用Shell脚本有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!注意事项1)开头加解释器:#!/bin/bash2)语法缩进,使用四个空格;多加注释说明。3)命名建议规则:变量名大写...
    99+
    2023-06-16
  • linux中如何编写shell脚本
    在Linux中,可以使用任何文本编辑器编写Shell脚本。以下是编写Shell脚本的一般步骤: 打开终端并创建一个新的文本文件,...
    99+
    2023-10-23
    linux shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作