[请教]有没有检查script代码正确性的工具?

刚才写
counter=0
for files in *
do
   echo "$counter:$files"
   counter=`expr $counter+1`
done
显示出一堆0+1+1+1....
半天才想到是$counter + 1,恨不得要给counter前面加上int

请问有没有对代码进行扫描的工具,对可能歧义的语句给出warning,对错误的语句给出error?

初学,见笑了。

谢谢。