shell是Linux系统上常用的一种脚本语言。一般从事web后台开发的从业者,都会用到shell,因此shell调试也是一项必备的技能。本文教你如何进行shell脚本调试。
方法/步骤
-
启动Linux系统,用ssh工具(xshell或者SecureCRT等)连上Linux系统。我用的是SecureCRT,若SecureCRT不会用,可以自己百度或者留言沟通。用SecureCRT连上之后,如图所示。
-
shell脚本调试不需要什么特殊的工具。bash自带了一些调试选项。具体选项包含:
-x : 在执行时显示参数和命令;
+x:禁止调试
-v:当命令行进行读取时显示输入;
+v:禁止打印输入。
在shell脚本启动时或者在脚本内都可以添加这些调试选项。测试脚本debug.sh,代码如图所示。
-
在脚本启动时添加调试选项。来调试debug.sh,可以在启动脚本时,输入以下命令:bash -x ./debug.sh 或者 sh -x ./debug.sh。
-
在脚本内添加调试选项,使用set 命令。例如要开启-x选项,则在脚本内容中添加命令:set -x
set +x 是关闭调试。
-
现在要看debug.sh脚本执行的调试信息,就不需要使用bash -x ./debug.sh执行了。直接./debug.sh 就可以看到调试信息。
-
还有一种更便捷的方法,就是在脚本开头添加-xv选项,例如将#!/bin/sh 改成
#!/bin/sh -xv
-
同样现在执行./debug.sh,也可打印出调试信息。
-
除了bash内置的选项来调试shell,还可以自定义调试函数。自定义调试函数可以更加灵活的应用。
-
打开自定义调试函数,在启动脚本时,_DEBUG=on ./script。如果不开启调试开关,就直接执行./script。