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

Linux Discussion :

Un truc tres con en shell script


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut Un truc tres con en shell script
    Hello !
    j'ai un petit pb en SC.. je ne sais pas comment faire

    je lance un script
    et il doit vérifier qu'il y a un seul argument, qui soit "nico" ou "lili"...
    j'arrive pas à faire la structure avec le if, car il plante

    bon en gros je veux ça :

    qui vérifie les arguments passé en parametre

    et sont valides

    sinon, afficher un message d'erreur

    j'ai voulu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ $1 -eq "lili ] elif... etc
    , mais c'est moche

    une autre idée?

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    etienne@info1:~ $ ./test.sh aze aze aze aze
    4
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    etienne@info1:~ $ cat test.sh
    #/bin/sh
    echo $#
    $# est la réponse que tu attends je crois : cette variable contient le nombre d'arguments lors de l'appel d'un éxécutable.

  3. #3
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: Un truc tres con en shell script
    Citation Envoyé par Krispy
    ...

    j'ai voulu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ $1 -eq "lili ] elif... etc
    , mais c'est moche

    une autre idée?
    Oui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    case $1 in
       "lili" | "lolo" | "lala" )
          echo "paramètre en L"
          ;;
       "titi" | "toto" | "tata" )
          echo "paramètre en T"
          ;;
       * )
          echo "Autre paramètre inconnu"
          ;;
    esac
    Outre le contrôle proposé par ggnore sur le nombre de paramètres, ce test permet d'en vérifier la validité

  4. #4
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut Re: Un truc tres con en shell script
    Citation Envoyé par 2Eurocents
    Outre le contrôle proposé par ggnore sur le nombre de paramètres, ce test permet d'en vérifier la validité
    Dans le rôle du lecteur en diagonale : moi-même

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2004
    Messages
    124
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 124
    Points : 52
    Points
    52
    Par défaut Re: Un truc tres con en shell script
    Citation Envoyé par 2Eurocents
    Citation Envoyé par Krispy
    ...

    j'ai voulu faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if [ $1 -eq "lili ] elif... etc
    , mais c'est moche

    une autre idée?
    Oui :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    case $1 in
       "lili" | "lolo" | "lala" )
          echo "paramètre en L"
          ;;
       "titi" | "toto" | "tata" )
          echo "paramètre en T"
          ;;
       * )
          echo "Autre paramètre inconnu"
          ;;
    esac
    Outre le contrôle proposé par ggnore sur le nombre de paramètres, ce test permet d'en vérifier la validité


    Ah génial, c'est parfait, je ne pense jamais aux "case"
    Thx

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: Un truc tres con en shell script
    Citation Envoyé par Krispy
    Ah génial, c'est parfait, je ne pense jamais aux "case"
    Thx
    Et si ça marche, pense aussi au , en bas à gauche du fil

    ggnore, faut pas rougir comme ça, le contrôle sur $# est aussi très pertinent !

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

Discussions similaires

  1. Envoi d'une variable en shell script sur php
    Par Ponchi dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 13h54
  2. Executer en tant que en shell script ?
    Par fabszn dans le forum Linux
    Réponses: 3
    Dernier message: 13/01/2006, 15h08
  3. shell script depuis c
    Par 03011226 dans le forum C
    Réponses: 10
    Dernier message: 08/12/2005, 18h56
  4. Parser une chaine en shell script
    Par Gogoye dans le forum Linux
    Réponses: 10
    Dernier message: 19/07/2004, 17h49
  5. Retour de requete postgresql / Shell Script
    Par doohan dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/06/2003, 18h07

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