次のスクリプトデバッグフレームワークを理解しようとしています。
#!/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エコー「ファイルの読み取り」はどのように機能しますか?
(2)どのように
DEBUG set -x
a=2
b=3
c=$(( $a + $b ))
DEBUG set +x
$ @を使用して作業しますか?どうもありがとうございます。