我尝试了解以下脚本调试框架。
#!/bin/bash
_DEBUG="on"
function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@
}
DEBUG echo 'Reading files'
for i in *
do
grep 'something' $i > /dev/null
[ $? -eq 0 ] && echo "Found in $i file"
done
DEBUG set -x
a=2
b=3
c=$(( $a + $b ))
DEBUG set +x
echo "$a + $b = $c"
我无法理解函数 DEBUG 及其用法。
我的问题是
(0) $@ 是什么意思?
(1) DEBUG echo 'Reading files' 如何使用 $@ 工作?
(2) 怎么做
DEBUG set -x
a=2
b=3
c=$(( $a + $b ))
DEBUG set +x
使用 $@ 工作?非常感谢。