SC2322 – ShellCheck Wiki

See this page on GitHub


In arithmetic contexts, ((x)) is the same as (x). Prefer only one layer of parentheses.

Problematic code:

value=$(( ((offset + index)) * 512 )) 

Correct code:

value=$(( (offset + index) * 512 ))


ShellCheck found doubly nested parentheses in an arithmetic expression. While the syntax for an arithmetic expansion is $((..)), this does not imply that parentheses in the expression should also be doubled. (x), ((x)), and (((x))) are all identical, so you might as well use only one layer of parentheses.


This is a stylistic suggestion. If you prefer keeping both parentheses, you can ignore this message.

ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.