Salut,
Quelle sera l'entrée des arguments ?
Entrée standard (clavier) ou redirecteur avec un fichier ?
Dans le cas du clavier, tu peux utiliser read.
echo -e "Veuillez saisir le code utilisateur en minuscules. (chiffres autorisés.) \c"
utilisateur=$utilisateur
read utilisateur
echo "$utilisateur"
ensuite, tu teste la présence de la variable $utilisateur dans /etc/passwd en précisant même que la ligne commence par $utilisateur:
Tu auras donc quelque chose comme "^$utilisateur:" dans ton test.
Ce sera la ligne suivante :
grep "^$utilisateur:" /etc/passwd
sachant que lorsque la commande réussi et que la chaine est trouvée, le $? est égal à 0 et quand la commande échoue le $? est en général 1 (en tout cas toujours différent de 0)
Donc pour savoir si ton grep a fonctionné, utilise la commande "test" dans un "if"
Ca donnera quelque chose comme
if test $?=0
then
echo "le compte existe"
fi
Tu peux faire l'inverse en testant que $? est différent de 0. A toi de voir.
On a globalement quelque chose qui ressemble à ça :
#!/bin/sh
# auteur : JVF
# Objet du script :
#Lecture du compte saisi au clavier. Controle de la présence du compte dans base utilisateurs unix.
# nom du script : version : date : observation
# verifuser.sh : 1.0 : 20090501: creation
######################################################################################
# Lecture des informations fournies en entree standard (clavier)
echo -e "Veuillez saisir le code utilisateur en minuscules. (chiffres autorisés.) \c"
utilisateur=$utilisateur
read utilisateur
echo "$utilisateur"
# Recherche de la variable $utilisateur dans le fichier /etc/passwd
grep "^$utilisateur:" /etc/passwd
# Analyse du code retour ($?)
if test $?=0
then
echo "le compte existe"
fi
Tu dois voir que j'ai insisté sur les commentaires, c'est une habitude à prendre...
Ensuite je voudrais que tu lises la remarque suivante :
Je ne sais pas dans quel cadre tu dois faire ce script, mais si c'est dans un cadre scolaire ou universitaire, dis-toi bien que je ne te rend pas service en te machant le travail.
Je viens de passer 10 minutes à revoir des commandes bash et ça m'a été profitable, mais par contre, toi, tu n'auras strictement rien appris.
Une idée reçue est souvent une idée morte.