_=$((expr))to avoid executing output.
i=4 $(( i++ ))
i=4 (( i++ ))
++ 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
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.