Probleme shell
Résolu
hmid30
Messages postés
147
Date d'inscription
Statut
Membre
Dernière intervention
-
hmid30 Messages postés 147 Date d'inscription Statut Membre Dernière intervention -
hmid30 Messages postés 147 Date d'inscription Statut Membre Dernière intervention -
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
- Ssh secure shell download - Télécharger - Divers Web & Internet
- Shell startup windows 10 - Guide
- Shell infrastructure host c'est quoi - 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