*exitstatus=$?
if [ $exitstatus = 0 ]
petite erreur de syntaxe :
= est un opérateur de comparaison lexicale; il compare des mots, pas des nombres.
pour les nombres, utilisez
-eq,
-ne,
-gt...
de plus, le recours à une variable intermédiaire n'est pas indispensable : il n'y a pas de commandes intercalées entre la commande précédente dont tu testes le retour et la structure de contrôle.
if test $? -ne 0
then
echo "Vous avez annulé"
exit
else
if test "$VersionWine" = "Version hq"
...
fi
fi
il y a un avantage à
test par rapport à
[ : c'est visiblement une commande, alors que le lecteur débutant pourrait croire que les crochets font parties de la structure du
if
*test -d "$HOME/.icons" || mkdir "$HOME/.icons"
pareil plus loin pour
applications :
test vrai OU action, plutôt que
test n'est pas vrai ET action