作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在制作复杂的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/
我是一名优秀的程序员,十分优秀!