echo Enter 2 values: read val1 val2 c = `expr $val1 + $val2` echo $c
Lors de l’exécution du script shell, j’obtiens le problème suivant:
addition.sh: 3: addition.sh: c: introuvable
S’il vous plaît aider!
C’est parce que vous mettez des espaces entre la variable ‘c’ et le ‘=’. Par conséquent, le shell suppose que c
est une commande et =
, et expr $val1 + $val2
sont des parameters donnés:
Donc au lieu de
c = `expr $val1 + $val2` ^ ^
écrire
c=$(expr $val1 + $val2)
Tous ensemble:
echo Enter 2 values: read val1 val2 c=$(expr $val1 + $val2) echo $c
Notez que vous pouvez également obtenir le résultat de la sum avec:
echo $(( val1 + val2 ))
En règle générale, utilisez var=$(command)
pour enregistrer une sortie de commande dans une variable.