You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
a[(x)] is the same as a[x]. Prefer not wrapping in additional parentheses.
Similarly $(( (x) )) is the same as $(( x )), (( (x) )) is the same as (( x )).
Problematic code:
array[(x+1)]=val
echo$(( (x+1) ))
Correct code:
array[x+1]=val
echo$((x+1))
Rationale:
ShellCheck found an entire arithmetic expression wrapped in parentheses. This does not serve a purpose since the expression is already clearly delimited by the construct it's in, such as array[..]= or $((..)) in the example.
Note: ShellCheck does not warn about redundant parentheses in subexpressions, such as (a*b)+c. Feel free to use parentheses to clarify the order of operations any way you'd like. ShellCheck only emits this suggestion when the entire expression is wrapped twice.
Exceptions:
If you prefer having an extra layer of parentheses for stylistic reasons, you can ignore this message.
Related resources:
Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!