如何提示用户在bash选项中启用调试?



我试图提示用户是否要开始调试。我如何做到这一点没有添加-x我自己只是在#!/bin/bash或没有硬编码到脚本?

正如Benjamin W建议的那样,只需将set -x包裹在一个条件中:

#!/bin/bash
read -p "Enable debugging? " debugmode
case "$debugmode" in
1|y|Y|yes|YES ) set -x ;;
esac

我经常使用的一个技巧是,在我的脚本顶部添加一些类似

的内容。
[[ ${DEBUG_S:-no} == yes ]] && set -x

要运行程序P并打开这种类型的调试,我执行

DEBUG_S=yes P

即使脚本不是P本身,而是P的子进程,它也会打开跟踪。

最新更新