Como o ilkkachu comentou, você tem um erro de digitação simples no código de adição:
echo "Added by: "
read NUM2
addition $NUM1 $NUM
deve ser:
echo "Added by: "
read NUM2
addition $NUM1 $NUM2
Idem as recomendações comentadas para o ShellCheck e set -u
para esses tipos de erros. set -u
teria lhe dado um erro ao executar o script.
Treat unset variables and parameters other than the special parameters ‘@’ or ‘*’ as an error when performing parameter expansion. An error message will be written to the standard error, and a non-interactive shell will exit.