Shell_调试

本文介绍了Shell脚本的三种调试方法:静态语法检查、动态运行逻辑检查及使用工具调试。详细解析了如何利用sh-n、sh-c、sh-v、sh-x进行错误定位,并通过设置环境变量PS4来增加调试信息的行号显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)静态检查语法错误:

sh -n 脚本名;

(2)动态运行逻辑错误:

【2.1】sh -c '语句',运行一小句;

【2.2】sh -v 脚本名,运行脚本,输出运行的,原始语句;

【2.3】sh -x 脚本名,运行脚本,输出运行的,语句,并替换符号变量;

            使用方式:

1).在命令行提供参数:$ sh -x script.sh

2).脚本开头提供参数:#!/bin/sh -x

3).在脚本中用set命令启用or禁用参数:

其中set -x表启用,set +x表禁用

调试输出:

stdin上面输出+开始的shell脚本语句;

其中,多个加号的情况,是在该行中被调用的层次,例如:

脚本:vara=110

           varb=`echo ${vara}`

+ vara=110

++ echo 110

+ varb=110

备注解释:

每行,行首显示+,其值为环境变量$PS4;

为sh -x追加行号显示:

export PS4='+{$LINENO:${FUNCNAME[0]}} '

$LINENO,代表shell脚本的当前行号

$FUNCNAME,函数的名字,包含了整个调用链上所有的函数的名字,[0]当前函数,[1]上个调用函数...

(3)使用工具调试:

bashdb,可以单步,断点跟踪。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值