IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Création d'un Script : Afficher un message selon une condition


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut Création d'un Script : Afficher un message selon une condition
    Bonsoir,

    Je suis nouveau dans le monde de Linux et je voudrais faire un script pour créer mes utilisateurs samba etc etc.

    Le soucis que je rencontre et que je veux faire en sorte d'afficher une information ou une autre selon que la commande réussi ou non.

    Par exemple, je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    useradd -d /data/home/deva/thomas -m -g gdeva -s /bin/sh -p `mkpasswd thomas` thomas
    echo "Création de Thomas : Fait"
    Je voudrais n'afficher que la seconde ligne si la première s'effectue correctement mais je ne sais pas si celà est possible ...

    Pouvez vous me guidez svp.
    Merci.

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 125
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 125
    Par défaut
    Ah tiens, salut ero-sennin !, d'un forum à l'autre !

    Alors, l'immense majorité des commandes linux renvoient une valeur de succès ou d'erreur(s). « man la_commande » t'en dira plus.
    Du coup, moi je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ret=la_commande
    if $ret=0 then
      instruction1
    else
      instruction2
    fi
    Plus ou moins comme en Delphi, quoi,
    Enfin, ce code est de tête, pas testé (et linux c'est un peu lointain), mais je dois pas être loin de la vérité.
    ("else instruction2" est optionnel)
    Mes 2 cts,
    --
    jp

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Hey, salut Jipété

    Je viens de regarder la commande man useradd et je vois qu'en effet, on a 0 lorsque tout est OK sinon >0 en cas d'erreur.

    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
     
    echo "***** Création des élèves arle *****"
    ret = useradd -s /bin/sh -p `mkpasswd claire` claire
     
    if $ret = 0 then
    echo "Claire fait parti des élèves"
    fi
    Mais j'ai une erreur :
    ret : commande introuvable
    erreur de syntaxe près du jeton fi inattendu

    Merci de bien vouloir m'éclairer

  4. #4
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 125
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 125
    Par défaut
    Ah ouais, j'ai dû merder un truc, j'l'ai fait de tête, et ça fait longtemps...
    Essaye du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
     
    echo "***** Création des élèves arle *****"
    ret = $(useradd -s /bin/sh -p `mkpasswd claire` claire)
     
    if [ $ret = "0" ] then
      echo "Claire fait partie des élèves"
    fi
    partie parce que Claire est une partie des élèves, et ça marche aussi pour Paul !
    --
    jp

  5. #5
    Membre chevronné Avatar de hmhm12
    Profil pro
    Administrateur système
    Inscrit en
    Novembre 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations professionnelles :
    Activité : Administrateur système

    Informations forums :
    Inscription : Novembre 2007
    Messages : 258
    Par défaut
    ou plus simple;

    (useradd -s /bin/sh -p `mkpasswd claire` claire) && echo "Claire fait parti des élèves"

  6. #6
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Ah ouais, j'ai dû merder un truc, j'l'ai fait de tête, et ça fait longtemps...
    Essaye du côté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
     
    echo "***** Création des élèves arle *****"
    ret = $(useradd -s /bin/sh -p `mkpasswd claire` claire)
     
    if [ $ret = "0" ] then
      echo "Claire fait partie des élèves"
    fi
    partie parce que Claire est une partie des élèves, et ça marche aussi pour Paul !
    --
    jp
    Erf, ça ne fonctionne toujours pas...
    Dommage car j'aurai bien aimé faire de cette façon

    Citation Envoyé par hmhm12 Voir le message
    ou plus simple;

    (useradd -s /bin/sh -p `mkpasswd claire` claire) && echo "Claire fait parti des élèves"
    Oué, là ça fonctionne
    Merci bien ... cependant n'y a t-il pas une solution plus proche de celle citée par Jipété ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher un message selon la version d'IE
    Par aspkiddy dans le forum Langage
    Réponses: 11
    Dernier message: 07/12/2013, 11h21
  2. Afficher un message selon le parametre
    Par stade13 dans le forum BIRT
    Réponses: 2
    Dernier message: 19/02/2013, 13h07
  3. [MySQL] Comment afficher un message selon le citère?
    Par abouilyas dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/06/2011, 22h58
  4. Afficher un message selon plusieurs critères
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 02/04/2009, 16h43
  5. [MySQL] Afficher des évènements selon une année précise
    Par gotenks dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 11/01/2006, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo