英語めないんでしょ?

2.6.4 算術式の展開
算術展開は、算術式を評価してその値を代入するためのメカニズムである。算術展開のフォーマットは以下のとおりです。


$((式))

式は二重引用符で囲まれているかのように扱われますが、式の中の二重引用符は特別に扱われません。シェルは、パラメータの展開、コマンドの置換、
引用符の除去のために、式のすべてのトークンを展開する。

次に、シェルはこれを算術式として扱い、式の値を代入する。算術式は、以下の例外を除き、
「算術の精度と演算」で示された規則に従って処理されなければならない。

符号付き長整数の算術演算のみが必要である。

ISO C規格の6.4.4.1項で規定されている
10進数定数、8進数定数、16進数定数のみを定数として認識する必要があります。

sizeof()演算子、前置および後置の "++"および"--"演算子は必須ではありません。
選択、反復、およびジャンプ文はサポートされていません。

算術式の中の変数に対するすべての変更は、"${x=value}"というパラメータ展開のように、
算術式の展開の後に効力を持つものとします。

シェルの変数xが、有効な整数定数を構成する値を含み、オプションとして先頭に<プラス記号>または
<ハイフン-マイナス>を含む場合、算術展開の"$((x)) "と"$(($x)) "は同じ値を返すものとします。

拡張機能として、シェルはここに挙げた以外の算術式を
認識することができます。シェルは、signed long のランクよりも大きいランクの符号付き整数型を使用することができます。
シェルは、オーバーフローが発生しない場合の結果に影響しない限り、signed long の代わりに real-floating 型を使用してもよい。式が無効な場合、または
式で使用されているシェル変数の内容がシェルによって認識されない場合、展開は失敗し、シェルは失敗を示す診断メッセージを標準エラーに書き込まなければならない。