var=2 n=3 var+=$n
In bash/ksh, use an
(( arithmetic context ))
(( var += n ))
or declare the variable as an integer type:
declare -i var=2 n=4 var+=$n
For POSIX sh, use an
The problematic code attempts to add 2 and 3 to get 5.
+= on a string variable will concatenate, so the result is 23.
If you do want to concatenate a number, for example to append trailing zeroes, you can silence the warning by quoting the number:
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.