一、说明
自己写shell脚本进行调试时感觉是很烦心的,如果是在Linux服务器上直接echo打印还行但vim用着总没有Windows上的图形界面编缉器顺手,如果在Windows上写好传到Linux服务器上去那每次修改完总要有个文件上传的动作。
所以一直在寻找些类似调试的功能,在此做个记录。
二、直接使用bash -x
-x参数指示bash,每当要执行一条命令前,先将其打印出来。
三、使用set -x缩小范围
bash -x从头到尾将要执行的命令都打印出来,可以预想到当程序很长时将会打印一堆的内容。我们本意是想借助打印排查问题,非关注的位置也进行打印并不利于这个初衷。
我们可以使用在关注的代码片段前后使用"set -x"和"set +x"将其包裹起来,这样就只有被包裹的位置的代码会被打印出来。
四、类似其他语言的调试
本来以为shell脚本没有类似其他语言下断点的调试方式,但这位老哥说Linux上用Eclipse是可以的,并没有试过。而且也有说这个插件很老了现在没人维护了。
参考:
https://unix.stackexchange.com/questions/155551/how-to-debug-a-bash-script