微蓝网分享经验,让生活更简单!移动APP免费注册登录

linux打开shell脚本-如何在 Linux 中启用 Shell 脚本的调试模式 首发

阅读:210次 时间:2024-10-23 12:41:55来源:用户
最佳经验
由作者撰写原创经验并推荐置顶

脚本是存储在一个文件的一系列命令,在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令,在学习脚本或写脚本的初期阶段,我们通常从写小脚本或者几行命令的短脚本开始,调试这样的脚本时我们通常无非就是通过观察它们的输出来确保其正常工作,然而,当我们开始写非常长或上千行命令的高级脚本,例如改变系统设置的脚本,在网络上执行关键备份 等等,我们会意识到仅仅看脚本输出是不足以在脚本中找到 Bug 的,因此,在 Linux 系列中这篇介绍 Shell 脚本调试, 我们将看看如何启用 Shell 脚本调试,然后在之后的系列中解释不同的 Shell 脚本调试模式以及如何使用它们,想要了解更多关于windows,linux的知识可以去《linux就该这么学》看看,以下内容是由微蓝经验网用户发布linux打开shell脚本-如何在 Linux 中启用 Shell 脚本的调试模式,希望对于用户有一定帮助,为朋友进行解决疑惑,如若想了解更多相关内容,可以向底部移动了解更多与本教程文章相关解决经验方法!

工具与材料

linux学习机

方法/步骤
  1. 1

    如何开始写一个脚本

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

    #,/bin/sh [sh 脚本]

    #,/bin/bash [bash 脚本]

    #,/usr/bin/perl [perl 程序]

    #,/bin/awk -f [awk 脚本]

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

  2. 2

    如何在 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 脚本名

    $ ,/脚本名

  3. 3

    启用 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 -

    关于启用 Shell 脚本调试模式,先讲这些,正如我们看到的,我们可以调试一整个 Shell 脚本或者特定部分脚本,在此系列下面的两篇文章中,我们会举例介绍如何使用 Shell 脚本调试选项,进一步了解详细、语法检查、跟踪调试模式,更重要的是,关于这个指南,欢迎通过下面评论提出任何问题或反馈。

THE END
分享到:
免责声明:本文来自微蓝网用户分享,不代表微蓝网的立场。
作者信息

新手帮助关于我们招聘信息反馈投诉免责声明服务协议最新文章

微蓝网部分素材(图片、视频、音频等)来自于网络,不代表本站立场,以上素材或内容仅代表作者个人观点,因此产生相关问题作者本人负责,本站将不承担任何法律责任! 如有问题请进行侵权投诉

© 2025 VLPOS.com 版权所有 微蓝网 ICP备案号:黑ICP备20003952号-1  黑公网安备 23012602000120号