間違いっていうのは仕様違反って意味じゃなくて
算術演算をするなら$をつけないのが正しいって意味ね。

算術演算の前に$とかコマンドが展開されるっていうのも
仕様なのでそれも書いたとおりに動作する