主要观点:介绍了在脚本中使用set -x
及bash -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!"
。
重要细节:无特别强调的重要细节,主要围绕上述关键信息展开说明和示例。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。