Shell调试

★调试选项:

-n:读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。
例:bash -n test.sh

-v:边执行脚本,边将执行过的脚本命令打印到标准输出。
例:bash -v script.sh

-x:提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。

▼使用“-x”选项之前,先定制PS4变量的值来增强“-x”选项的输出信息,
▪输出行号信息:执行export PS4='+[$LINENO]'
▪永久生效:将此语句加到用户主目录的.bash_profile文件中。

-c:使Shell解析器从字符串而非文件中读取并执行命令。
调试一小段脚本的执行结果时,非常方便。
例:bash -c 'x=1;y=2;let z=x+y;echo "z=$z"'


★有3种使用方法

1.在命令行提供参数:$sh -x script.sh
2.脚本开头提供参数:#!/bin/sh -x
3.在脚本中用set命令启用or禁用参数:其中set -x表启用,set +x表禁用。
※避免几种调试选项混用。

▪例:
export PS4='+[$LINENO]'

方法1:sh -x ./test.sh # -x选项将打开脚本的执行跟踪功能

方法2:
set -x #打开跟踪功能
echo aaaaaa #打印输出的Shell命令
set +x #关闭跟踪功能
echo bbbbbb #不再被打印输出。


其它测试方法参考:
https://www.cnblogs.com/anliven/p/6032081.html
https://blog.csdn.net/jerry_1126/article/details/51526266

posted @ 2019-03-20 10:00  山的那一边  阅读(289)  评论(0)    收藏  举报