Bonsoir à tous !
Je souhaite écrire un script (sous Linux) qui prend en argument 3 chaînes et qui :
- retourne 0 si les 3 chaînes sont égales
- retourne 1,2 ou 3 si la chaîne différente des autres est à la 1ère, 2ème ou 3ème position
- retourne 4 si les trois chaînes sont différentes
- retourne 5 si le nombre de paramètres est incorrect
Voici mon code :
Lorsque j'éxécute, tout à l'air de bien se passer. Cependant, je n'obtiens pas la valeur de retour (que je mette exit ou return).Code:#!/bin/sh if test $# != 3 #on test s'il y a bien 3 arguments avec $# then exit 5 elif test $1 = $2 -a $2 = $3 then exit 0 elif test $2 = $3 then exit 1 elif test $1 = $3 then exit 2 elif test $1 = $2 then exit 3 elif test $1 != $2 -a $2 != $3 then exit 4 fi
Lorsque je tape $? , j'obtiens la bonne valeur de retour, mais avec un message : commande introuvable.
Je souhaiterais que la valeur soit retournée automatiquement (pas besoin de taper quelque chose pour obtenir le code 0,1,...,5).
Voici un screen pour mieux illustrer mon problème :
Merci d'avance pour votre aide.
Lechero.
-----