gpt4 book ai didi

bash - 在 Bash 中,您可以设置 -x 以启用调试,有没有办法知道脚本中是否已设置?

转载 作者:行者123 更新时间:2023-11-29 08:46:25 26 4
gpt4 key购买 nike

在制作复杂的bash脚本时,我会经常使用命令:

set -x

使我能够在脚本不正常时对其进行调试。

但是我有一些 UI 函数在 Debug模式下会产生大量垃圾,所以我想按照以下行将它们包装在条件中:

ui~title(){
DEBUG_MODE=0
if [ set -x is enabled ] # this is the bit I don't know how to do
then
# disable debugging mode for this function as it is not required and generates a lot of noise
set +x
DEBUG_MODE=1
fi

# my UI code goes here

if [ "1" == "$DEBUG_MODE" ]
then
# re enable debugging mode here
set -x
fi
}

问题是我不知道如何知道是否启用了 Debug模式。

我假设这是可能的,尽管进行了大量搜索,但我似乎还是找不到它。

提前感谢任何提示

最佳答案

使用以下内容:

if [[ "$-" == *x* ]]; then
echo "is set"
else
echo "is not set"
fi

来自 3.2.5. Special parameters :

A hyphen expands to the current option flags as specified upon invocation, by the set built-in command, or those set by the shell itself (such as the -i).

关于bash - 在 Bash 中,您可以设置 -x 以启用调试,有没有办法知道脚本中是否已设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16605362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com