J'essaie de créer un script shell qui prend des arguments, puis exécute l'équation mathématique appropriée en fonction de la deuxième variable. Je reçois « erreur de syntaxe près de jeton inattendu` dans » et « cas « $ y » dans »Problème du scénario de script Shell
#!/bin/sh
echo "Variable name \$1 $1"
echo "Variable name \$2 $2"
echo "Variable name \$3 $3"
y=$2
echo $y
case $y in
'+') x=`expr $1 + $3`
echo $x
;;
'-') x=`expr $1 - $3`
echo $x
;;
'\*') x=`expr $1 \* $3`
echo $x
;;
'/') x=`expr $1/$3`
echo $x
;;
'%') x=`expr $1 % $3`
echo $x
;;
'*') echo "Invalid option"
exit 1
;;
esac
J'ai essayé tous ces changements et je reçois toujours les mêmes erreurs. Il agit comme une erreur au début de l'instruction. – Rumel
@Rurnel, je pense que vous devriez vérifier quel shell est utilisé. Comme votre bang est #!/Bin/sh, tapez 'ls -l \' qui sh \ '' et vérifiez la sortie. _Bash_, _dash_ et _sh_ devraient être des résultats acceptables. [Ici] (http://www.grymoire.com/Unix/Sh.html#uh-82) est un tutoriel sur la structure de cas dans shell. Collez simplement un exemple à votre shell et vérifiez s'il y a quelque chose qui ne va pas. BTW, la sortie d'erreur complète aiderait à identifier le problème. – tianyapiaozi
1rwxrwxrwx 1 racine racine 9 2011-01-02 01:09/usr/bin/sh ->/bin/bash – Rumel