http://blog.csdn.net/gsnumen/article/details/7265641
shell脚本调试 -- 运行日志1
本文主要描述如何输出shell脚本中的debug日志.
C/C++的debug日志
在C/C++中有 __FILE__, __func__, __LINE__ 来表示 当前这行日志来自哪个源代码文件的第几行的哪个函数.
如:
#include<stdio.h> |
t.c:6:main:DEBUG Hello World! 是在说, 这行信息来至 t.c 文件的第 6 行的 main 函数,这种方法可以让你在调试过程中很快的定位问题的位置.
shell脚本中的debug日志
使用 alias 功能, 实现类似C/C++中的debug日志方法. 将文件保存到 /etc/mydebug
#!/bin/bash
# mydebug # Aliases are not expanded when the shell is not interactive, unless the #+ expand_aliases shell option is set using shopt shopt -s expand_aliases case "$1" in "debug") alias mydebug='echo -n $(caller 0|tr " " ":"):$FUNCNAME:$LINENO:LOG:" "'; ;; *) alias mydebug=''; ;; esac |
测试:
#!/bin/bash |
debug模式的运行结果:
$> /bin/bash mydebug_test.sh
18:check_all:mydebug_test.sh:check_apache:8:LOG: apache [OK]
19:check_all:mydebug_test.sh:check_mysql:13:LOG: mysql [OK]
$>
非debug模式的运行结果:
$> /bin/bash mydebug_test.sh
apache [OK]
mysql [OK]
------------- end -------------
From: GS
-------------------------------
相关推荐
### Shell脚本调试技术 在IT领域中,Shell脚本是一种强大的工具,广泛应用于Unix/Linux系统管理、自动化任务处理等领域。然而,随着脚本复杂度的增加,如何有效地调试Shell脚本成为了一项挑战。本文将详细介绍几种...
4. **错误处理和日志记录**:为了提高代码的健壮性和可维护性,此库可能包含异常处理机制和日志记录功能,方便开发者调试和监控应用的运行状态。 5. **配置管理**:可能提供配置文件读取和写入的功能,帮助用户保存...
#### 二、Shell脚本调试技术介绍 为了更好地解决逻辑错误,Shell提供了多种调试工具和技术,其中包括`trap`、`tee`、调试钩子和Shell选项等。 ##### 1. `trap`命令 `trap`是Linux中的一个内置命令,主要用于捕获...
`说明.txt` 文件可能是对整个过程的详细说明,包括如何运行shell脚本,脚本的工作原理,以及可能遇到的问题和解决方案。阅读这份说明有助于理解脚本的使用方法和潜在问题。 执行Oracle SQL脚本的shell脚本通常包含...
2. **命令行参数**:Shell脚本可以接收命令行参数,这些参数在脚本内部可以通过$1, $2, ... 来访问。$0代表脚本本身的名称。了解如何处理这些参数是编写实用脚本的关键。 3. **输入输出重定向**:Shell脚本支持标准...
3. **执行脚本**:要运行Shell脚本,需赋予脚本执行权限(`chmod +x scriptname.sh`)然后通过`./scriptname.sh`执行。 二、Shell脚本语法 1. **变量**:Shell中的变量无需预先声明,直接赋值即可。如`NAME="John...
在Android系统中,logcat和kernel log是两个重要的日志系统,它们记录了系统的运行状态、错误信息和其他调试数据。shell脚本则是Linux/Android环境中进行自动化任务的强大工具。本篇将详细介绍如何利用shell脚本来...
这个压缩包"Linux运维-运维工具箱-18个 Shell脚本经典案例-视频1-2.zip"提供了18个实用的Shell脚本示例,适合初学者和有经验的运维人员学习参考。通过观看视频1-2,我们可以深入理解这些脚本的设计思路和应用场景。 ...
**Shell脚本学习指南** Shell脚本是一种在Unix/Linux操作系统中使用的编程语言,它允许用户通过命令行界面执行一系列操作,实现自动化任务处理。作为学习Shell脚本的指南,这本书籍旨在帮助读者深入理解Shell脚本...
2. **Shell脚本结构** - **脚本开头**:通常以`#!/bin/bash`作为脚本的首行,告诉系统使用哪个Shell解释器来运行脚本。 - **变量声明**:在脚本中,可以声明并赋值变量,如`VAR="value"`。 - **命令执行**:使用...
在Linux操作系统中,Shell脚本是一种强大的工具,用于自动化日常任务、管理系统以及执行一系列命令。"Linux下101个shell脚本"是一份宝贵的资源,涵盖了从基础到高级的各种shell脚本示例,对于想要深入学习Linux ...
Shell脚本本质上就是一系列的Shell命令,它们被写入到一个文本文件中,然后通过执行这个文件来运行这些命令。在“Shell脚本学习指南”中,你可能会学到以下内容: 1. **基础语法**:包括变量定义、赋值、环境变量、...
### 发现服务超过一个小时不打日志进行重启Shell脚本详解 #### 背景介绍 在运维领域,为了确保应用程序或服务的稳定运行,通常会编写一系列的监控脚本来实时监测服务的状态。当发现服务异常时(比如长时间未产生...
在IT行业中,Shell脚本是Linux和Unix操作系统中不可或缺的一部分,尤其对于系统管理员和开发者而言,熟练掌握Shell脚本编写技巧至关重要。标题“编写Shell脚本”表明我们要深入探讨这一主题,而描述则强调了Shell...
5. **错误处理和日志记录**:为了提高调试和问题排查的效率,该库提供了完善的错误处理机制,并支持日志记录,方便开发者追踪和分析部署过程中出现的问题。 在实际使用中,解压后的文件"cloudshell-octopus-deploy-...