I am making a basic calculator to add, subtract, multiply, and divide.
Addition works, but not multiplication. When I attempt to multiply, I get the "You did not run the program correctly" response:
$ ./calculator 4 + 5
9
$ ./calculator 4 * 5
You did not run the program correctly
Example: calculator 4 + 5
I've searched around on google, where I found the \\*
code, but still doesn't work. Can someone provide me with a solution or explanation?
Here is my code
#!/bin/bash
if [ $# != 3 ]; then
echo You did not run the program correctly
echo Example: calculator 4 + 5
exit 1
fi
if [ $2 = "+" ]; then
ANSWER=`expr $1 + $3`
echo $ANSWER
fi
if [ $2 = "*" ]; then
ANSWER=`expr $1 \\* $3`
echo $ANSWER
fi
exit 0
The
*
needs to get escaped since it is a special char in shell syntax. (If not escaped, it will get expanded to the list of all files in the current directory). But you need to use just a single backslash in order to escape it: