曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 6381|回复: 0
打印 上一主题 下一主题

脚本调试

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2009-2-1 23:08:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   脚本中,当有一个错误发生时,shell 在正常情况下打印出包含错误那行的行号。如果错误并不是立即在表面上呈现出来的,那么可以通过简单地在 shell 里增加额外的 echo指令来显示变量的内容以及测试代码片段。

跟踪更多的错误的主要途径是设置不同的 shell 选项。这里,可以在调用 shell 后使用命令行选项或者使用 set 命令。以下汇总这些选项:
-----------------------------------------------------------------
命令行选项       set 命令选项                描述

sh -n <script>    set -o noexec      仅检查语法错误,不执行命令
                 set -n

sh -v <script>    set -o verbose      在运行之前 echoe 命令
                 set -v

sh -x <script>    set -o xtrace      在处理行上处理后 echo 命令
                 set -x

sh -u <script>    set -o nounset     当使用一个未定义变量则给出错误信息
                 set -u
-----------------------------------------------------------------------

可以用 -o 设置 set 选项标志为开, +o 为关。
可以使用 xtrace 选项来达到一个简单的执行状况跟踪。
对于初始化检查,可以使用命令行选项,但对于精炼的debug,可以在脚本中问题出现代码的附近处设置 xtrace 标志。
执行跟踪使 shell 在执行此行前,打印出每一行带有变量扩展的脚本。

使用一下命令打开 xtrace 开:
set -o xtrace

关上 xtrace :
set +o xtrace
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-19 08:54 , Processed in 0.077532 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表