Sto facendo una calcolatrice di base per aggiungere, sottrarre, moltiplicare e dividere.Moltiplicazione con script expr in shell
L'aggiunta funziona, ma non la moltiplicazione. Quando si tenta di moltiplicarsi, ho la risposta "Non hai eseguito correttamente il programma":
$ ./calculator 4 + 5
9
$ ./calculator 4 * 5
You did not run the program correctly
Example: calculator 4 + 5
Ho cercato in giro su google, dove ho trovato il codice \\*
, ma ancora non funziona. Qualcuno può fornirmi una soluzione o una spiegazione?
Ecco il mio codice
#!/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
È improbabile che sia necessario "expr"; 'ANSWER = $ (($ 1 + $ 3))', ad esempio, dovrebbe funzionare con qualsiasi shell che probabilmente utilizzi con Linux. – chepner