bash 调试

主要观点:介绍了在脚本中使用set -xbash -X来打印脚本执行的每一行并展开变量,还提到了通过trap read DEBUG在每行代码前停止以及一个更复杂的调试技巧trap '(read -p "\[$BASH_SOURCE: $LINENO] $BASH_COMMAND")' DEBUG,同时给出了一个用于在命令失败时打印更好错误消息的die函数die() { echo $1 >&2; exit 1; }并举例说明。

关键信息:

  • set -x可打印脚本执行每一行并展开变量,通常放于脚本顶部#!/bin/bash set -x
  • bash -x script.sh与在script.sh顶部放set -x效果相同。
  • trap read DEBUG在每行代码前触发“DEBUG”信号。
  • 调试技巧中的read -p可打印消息,按回车继续,$BASH_SOURCE是脚本文件名,$LINENO是行号,$BASH_COMMAND是下一个要运行的命令。
  • die函数用于在命令失败时打印消息并退出程序,如some_command || die "oh no!"

重要细节:无特别强调的重要细节,主要围绕上述关键信息展开说明和示例。

阅读 15
0 条评论