exécuter un programme de script shell

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.