# 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.