美文网首页
调试shell脚本

调试shell脚本

作者: 钾肥尔德 | 来源:发表于2019-06-25 20:33 被阅读0次

如何开始写一个脚本

一个脚本与其它文件的区别是它的首行,它包含 #! (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  -`

via: https://linux.cn/article-8028-1.html

相关文章

  • Shell -X命令

    shell "-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本...

  • shell脚本编程 - 技巧篇

    本篇并不讲述shell脚本编程的方法和规则,而是讲述如何更优雅的使用shell脚本。 调试方法 echo调试大法,...

  • Shell脚本调试选项

    Shell脚本调试选项Shell本身提供一些调试方法选项: -n,读一遍脚本中的命令但不执行,用于检查脚本中的语法...

  • 1.11 调试脚本

    《Linux Shell 脚本攻略(第 2 版)》读书笔记 启用 shell 脚本的跟踪调试功能bash -x s...

  • Shell 调试脚本 简介

    Shell 脚本调试的主要工作是发现脚本的错误的原因,以及定位脚本中发生错误的行。Bash 提供了多种脚本调试的功...

  • 调试shell脚本

    如何开始写一个脚本 一个脚本与其它文件的区别是它的首行,它包含 #! (She-Bang - 释伴:定义文件类型)...

  • shell脚本调试

    脚本调试 脚本调试 1 使用 -x 启动脚本跟踪调试功能 2 脚本进行部分调试 1 使用 -x 启动脚本跟踪调试功...

  • shell脚本调试

    一.sh [参数] 文件名.sh -n 不要执行script,仅查询语法的问题-x 将使用的脚本的内容输出到屏幕,...

  • Shell脚本

    1、脚本的执行 2、条件判断 3、循环执行(loop) 4、Shell脚本的追踪与调试

  • shell 备忘

    shell脚本调试 参见:https://www.cyberciti.biz/tips/debugging-she...

网友评论

      本文标题:调试shell脚本

      本文链接:https://www.haomeiwen.com/subject/sitfcctx.html