# SC2322 – ShellCheck Wiki

See this page on GitHub
Sitemap

## 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 ))`

### Rationale:

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.

### Exceptions:

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

- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!

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