$
or use _=$((expr))
to avoid executing output.i=4
$(( i++ ))
Bash, Ksh:
i=4
(( i++ ))
POSIX (assuming ++
is supported):
i=4
_=$(( i++ ))
Alternative POSIX version that does not preserve the exit code:
: $(( i++ ))
$((..))
expands to a number. If it's the only word on the line, the shell will try to execute this number as a command name:
i=4
$ $(( i++ ))
$ 4: command not found
echo $i
$ 5
To avoid trying to execute the number as a command name, use one of the methods mentioned:
i=4
$ _=$(( i++ ))
$ echo $i
$ 5
None.
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.