有没有办法检查是否使用-x标志执行shell脚本

use*_*529 5 bash shell sh

我试图检查脚本,如果该脚本是用-x标志执行的,这是用于shell脚本的调试.有没有办法检查脚本本身是否设置了-x.我想有条件地检查并做一些事情,如果设置.

Daw*_*ski 10

使用:

if [[ $- == *x* ]]; then
  echo "debug"
else
  echo "not debug"
fi
Run Code Online (Sandbox Code Playgroud)

Bash手册:

($ - ,连字符.)扩展到调用时指定的当前选项标志,set builtin命令或shell本身设置的那些(例如-i选项).