Probleme shell
Résolu
hmid30
Messages postés
160
Statut
Membre
-
hmid30 Messages postés 160 Statut Membre -
hmid30 Messages postés 160 Statut Membre -
Bonjour,
je suis nouveau en programmation et en programmation shell.
Voici mon probleme:
"Ecrire un programme shell connu prenant en argument un nom d’utilisateur qui
affiche 0 s’il est enregistré dans le fichier pass, 1 sinon."
Voici mon programme mais qui ne fonctionne pas, il affiche sans cesse erreur:
#!/bin/bash
cd /etc/
if [ "grep $1 passwd" = '0' ]
then
echo "L'utilisateur existe"
elif [ "grep $1 passwd" = '1' ]
then
echo "L'utilisateur n'existe pas"
else
echo "Erreur"
fi
Pouvez vous me dire ce qui ne vas pas?
Merci.
je suis nouveau en programmation et en programmation shell.
Voici mon probleme:
"Ecrire un programme shell connu prenant en argument un nom d’utilisateur qui
affiche 0 s’il est enregistré dans le fichier pass, 1 sinon."
Voici mon programme mais qui ne fonctionne pas, il affiche sans cesse erreur:
#!/bin/bash
cd /etc/
if [ "grep $1 passwd" = '0' ]
then
echo "L'utilisateur existe"
elif [ "grep $1 passwd" = '1' ]
then
echo "L'utilisateur n'existe pas"
else
echo "Erreur"
fi
Pouvez vous me dire ce qui ne vas pas?
Merci.
A voir également:
- Probleme shell
- Classic shell - Télécharger - Personnalisation
- Secure shell - Télécharger - Divers Web & Internet
- Shell infrastructure host c'est quoi - Guide
- Shell startup windows 10 - Guide
- Shell do while ✓ - Forum Shell
2 réponses
Salut,
Déjà quand on veut récupérer le résultat d'une commande la syntaxe est la suivante :
Ensuite dans ton cas ce n'est pas le contenu qui nous intéresse mais le code retour, à savoir vrai (0) ou faux (1).
Dans ce cas il faut comparer le code retour de ta commande qui se trouve dans la variable "$?" après l'exécution de ladite commande.
Ce qui donnerait :
Déjà quand on veut récupérer le résultat d'une commande la syntaxe est la suivante :
"$(commande)"
Ensuite dans ton cas ce n'est pas le contenu qui nous intéresse mais le code retour, à savoir vrai (0) ou faux (1).
Dans ce cas il faut comparer le code retour de ta commande qui se trouve dans la variable "$?" après l'exécution de ladite commande.
Ce qui donnerait :
cd /etc/ grep "$1" passwd code_retour="$?" if [ "$code_retour" = 0 ] then echo "L'utilisateur existe" else echo "L'utilisateur n'existe pas" fi