shell脚本调试技巧

0、专业脚本的规范格式

函数1
函数2
main 函数
main $*

1、使用dos2unix命令转换来自windows下开发的脚本

dos2unix默认是没有安装的,可以yum 安装

# dos2unix web_jk.sh
dos2unix: converting file web_jk.sh to UNIX format ...

2、使用echo 命令调试

3、使用bash命令参数调试

# sh [-nvx] scripts.sh
-n    不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示。
-v    在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如有错误,也会给出错误提示。
-x ***将执行的脚本内容及输出显示到屏幕上,对调试超级有用的参数!

4、使用set命令参数调试部分脚本内容

-n    读命令但并不执行
-v    显示读取的所有行
-x ***显示所有命令及其参数

在脚本里写:

set -x
diff /tmp/a.txt.ori /tmp/a.txt
set +x

提示:

开启调试功能通过set -x 命令,而关闭调试功能通过set +x

5、习惯

最关键的是熟练语法,编码习惯,编程思想,将错误扼杀在萌芽状态,减少调试负担,提高效率。

时间: 2024-12-26 11:23:15

shell脚本调试技巧的相关文章

shell脚本调试技术_转

转自:http://itlab.idcquan.com/linux/SHELL/727128.html 本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值,在脚本中植入调试钩子,使用"-n"选项进行shell脚本的语法检查, 使用"-x"选项实现shell脚本逐条语句的跟踪,巧妙地利用shell的内置变量增强"-x"选项的输出信息等. 一. 前言 shell编程在unix/linux

Shell脚本调试技术

一. 前言 shell编程在unix/linux世界中使用得非常广泛,熟练掌握shell编程也是成为一名优秀的unix/linux开发者和系统管理员的必经之路.脚本调试的主要工作就是发现引发脚本错误的原因以及在脚本源代码中定位发生错误的行,常用的手段包括分析输出的错误信息,通过在脚本中加入调试语句,输出调试信息来辅助诊断错误,利用调试工具等.但与其它高级语言相比,shell解释器缺乏相应的调试机制和调试工具的支持,其输出的错误信息又往往很不明确,初学者在调试脚本时,除了知道用echo语句输出一些

shell脚本调试方法

我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用 Shell 调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. 在本系列的这一部分,我们将了解如何使用语法检查调试模式.记住我们之前在本系列的第一部分中解释了不同的调试选项,在这里,我们将使用它们来执行脚本调试. 启用 verbose 调试模式 在进入本指导的重点之前,让我们简要地探索下 verbose 模式.它可以用 -v调试选项来启用,它会告诉 she

【转】shell脚本调试(bash trap support bashdb )

原文网址:http://zhu8337797.blog.163.com/blog/static/170617549201122512712136/ 命 令 选 项 功 能 bash –x 脚本名 回显 在变量替换之后.执行命令之前,显示脚本的每一行 bash –v 脚本名 详细 在执行之前,按输入的原样打印脚本中各行 bash –n 脚本名 不执行 解释但不执行命令 set –x 打开回显 跟踪脚本的执行 set +x 关闭回显 关闭跟踪功能 --------------------------

shell脚本调试之工具——bashdb

bash是Unix/Linux操作系统最常用的shell之一,它非常灵活,和awk.c++配合起来异常强大 以下使用一个测试脚本来说明使用bash调试的方法 test.sh [plain] view plaincopy #!/bin/bash echo "----------------begin-----------------" awk '{sum+=1} END{print sum}' test.sh MAX=3 for ((i = 0; i < MAX; i++)) do

shell脚本使用技巧3--调试

1.使用-x,开启shell脚本的跟踪调试功能 ex:bash -x script.sh or sh -x script.sh 2.使用set -x 和 set +x对脚本进行部分调试(输入中间的内容) #!/bin/bash #filename:debug.sh for i in {1..6}; do set -x echo $i set +x done echo "script executed" 3.固定格式生成调试信息 注:符号:告诉shell不要进行任何操作 #!/bin/b

收集的48个Shell脚本小技巧

0. shell 调试 复制代码 代码如下: sh -x somefile.sh 在somefile.sh 文件里加上set+x set-x 1. 用 && || 简化if else 复制代码 代码如下: gzip -t a.tar.gz if [[ 0 == $? ]]; then     echo "good zip" else     echo "bad zip" fi 可以简化为: 复制代码 代码如下: gzip  -t a.tar.gz &

shell脚本调试

Bash是Linux系统中默认的脚本编程语言,既然是编程语言,那么脚本的调试是必不可少的.下面介绍下bash简单的调试方法: 1 利用bash的参数-x,如 bash -x a.sh + for a in 'bafa{1..4}' + id bafa1 + echo 'bafa1 is exits' bafa1 is exits + for a in 'bafa{1..4}' + id bafa2 + echo 'bafa2 is exits'        #+表示打印出每行脚本 bafa2

shell 脚本调试

1.第一行加 -xv #!/bin/bash –xv 2. bash -x shellName 3.如果只想调试其中几行脚本的话可以用 set -x 和 set +x 把要调试的部分包含进来: 比如: #!/bin/bash echo "Hostname: $(hostname)" set -x echo "Date: $(date)" set +x echo "Kernel: $(uname -mrs)"