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 is exits                 #打印出脚本执行的结果

+ for a in ‘bafa{1..4}‘

+ id bafa3

+ echo ‘bafa3 is exits‘

bafa3 is exits

+ for a in ‘bafa{1..4}‘

+ id bafa4

+ echo ‘bafa4 is exits‘

bafa4 is exits

++ date ‘+%F %T‘                #++表示调用

+ echo ‘2017-03-27 14:03:34‘

2017-03-27 14:03:34

2 如果脚本太长的话,使用set -x打开脚本的跟踪调试

如:vim a.sh

#!/bin/bash

for a in bafa{1..4};do

if id $a &> /dev/null;then

echo "$a is exits"

else

useradd $a && echo "$a" | passwd --stdin $a &> /dev/null

echo "$a is create ok"

fi

done

set -x

echo "$(date +"%F %T")"

set +x

增加执行权限:chmod +x a.sh

./a.sh

bafa1 is exits

bafa2 is exits

bafa3 is exits

bafa4 is exits

++ date ‘+%F %T‘

+ echo ‘2017-03-27 14:17:27‘

2017-03-27 14:17:27

+ set +x

时间: 2024-10-05 07:13:42

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脚本调试之工具——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脚本调试(bash trap support bashdb )

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

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    不会执行该脚本,仅查询脚本语法是否有问题,并

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)"

如何在 Shell 脚本中执行语法检查调试模式

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

第九章、shell脚本编程基础

第九章.shell脚本编程基础 本章内容 编程基础 脚本基本格式 变量 运算 条件测试 配置用户环境 编程基础 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 程序的执行方式 计算机:运行二进制指令 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python (系统后台