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

Unix Discussion :

commande pour crée un processus


Sujet :

Unix

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut commande pour crée un processus
    Je commence le cours de bash, j'ai une question que je ne comprend pas

    Ecrire une commande mon-if qui lancera un processus, puis en lancera un second si le premier a réussi. Par exemple mon-if ’true’ ’echo reussi’ affichera reussi alors que mon-if ’false’ ’echo raté’ n’affichera rien. Prévoir le cas où les commandes contiennent plusieurs mots, comme dans mon-if ’echo foo’ ’echo bar’.

    Merci

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 262
    Points : 13 518
    Points
    13 518
    Par défaut
    Bonjour

    Utilise l'opérateur && entre les 2 commandes.

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    tout à fait je précise au cas où

    commande && commande2 - la commande 2 est lancée en cas de succès
    commande || commande2 - la commande 2 est lancée en cas d echec

    on peut cumuler les deux

    ou utiliser la syntaxe structurée
    commande
    if [ $? -eq 0 ] ; then commandesucces
    else commandeechec
    fi

    parce que toute commande en succès met la valeurs zéro à la variable $? en bash.

  4. #4
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut
    Bonsoir,

    je pourrais savoir qui ce que veux dire [ $? -eq 0 ] ?? et comment testé cette commande?

    merci

  5. #5
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 037
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 037
    Points : 8 403
    Points
    8 403
    Par défaut
    salut,

    Citation Envoyé par l1informatique Voir le message
    je pourrais savoir qui ce que veux dire [ $? -eq 0 ] ?? et comment testé cette commande?
    man bash !

    $! est une variable spéciale qui contient le résultat de la dernière commande lancée, typiquement les commandes retournent 0 en général, sinon c'est qu'elles ont rencontré une erreur la plupart du temps

    du coup écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande && réussi || raté
    revient à la même chose que d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    commande
    if [ $? -eq 0 ]; then
       réussi
    else
       raté
    fi

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par BufferBob Voir le message
    ...
    du coup écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande && réussi || raté
    revient à la même chose que d'écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    commande
    if [ $? -eq 0 ]; then
       réussi
    else
       raté
    fi
    Pas tout à fait. Ce n'est vrai que si l'on est sûr que la commande "réussi" ne risque pas de retourner un status différent de zéro. Peu de risque donc si la commande est par exemple "echo réussi".

    Sinon, "raté" risque d'être exécuté avec la première méthode.

    Je préfère :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if commande; then
      réussi
    else
      raté
    fi
    voire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande && { réussi ; true; } || raté

  7. #7
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 208
    Points : 60
    Points
    60
    Par défaut
    Merci pour les explications

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

Discussions similaires

  1. Commande pour trouver la version de Linux
    Par Gogoye dans le forum Administration système
    Réponses: 11
    Dernier message: 12/02/2013, 15h43
  2. commande dos pour tuer un processus
    Par haykelFST dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 31/12/2008, 14h35
  3. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28
  4. Réponses: 2
    Dernier message: 23/03/2004, 11h24
  5. Ligne de commande pour Turbo Pascal?
    Par GeffD dans le forum Turbo Pascal
    Réponses: 7
    Dernier message: 24/02/2004, 12h25

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