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 :

recupérer une liste de paramètres.


Sujet :

Linux

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut recupérer une liste de paramètres.
    Bonjour
    bon alors j'ai un gros soucis.
    Voilà j'ai un programme qui se lance avec divers paramètres du style
    monprog.sh -F myfile -C1 "phrase 1" -C2 "phrase 2"

    Je voudrais améliorer la chose au niveau paramètre C1 et2 et Cx pour faire un truc du genre
    monprog.sh -F myfile -C "phrase 1","phrase 2"

    Alors pour le moment voilà comment je récupère mes paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    while test -n "$1"; do
        case "$1" in
            --help)
                print_help
                exit 0
                ;;
            -h)
                print_help
                exit 0
                ;;
            -F)
                file=$2
                shift
                ;;
            -C1)
                CRITquery=$2
                shift
                ;;
            -C2)
                WARNquery=$2
                shift
                ;;
            *)
                echo "Unknown argument: $1"
                print_usage
                exit 0
                ;;
        esac
        shift
    done
    Sachant que ensuite chaque paramètre entré dans C je dois les manipuler pour faire des tests.

    Donc j'ai essayé en faisant un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $WARNquery | sed 's/,/\n/g'
    Donc sur la sortie standard il affiche chaque élément à la ligne.
    Mais j'ai pas réussis à les mettre dans des variables distinstes.

    Si vous pourriez m'aider.

  2. #2
    Membre à l'essai
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 23
    Points
    23
    Par défaut
    On m'a proposé une solution, mais j'aurai voulu savoir s'il n'y est pas une autre façon de faire cela, sans passer par des while. En utilisant des tableaux par exemple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo $WARNquery | sed 's/,/\n/g' | while read line
    do
    echo $line
    echo "bis $line"
    done

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 739
    Points : 31 068
    Points
    31 068
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par fafarun Voir le message
    Bonjour
    bon alors j'ai un gros soucis.
    Voilà j'ai un programme qui se lance avec divers paramètres du style
    monprog.sh -F myfile -C1 "phrase 1" -C2 "phrase 2"

    Je voudrais améliorer la chose au niveau paramètre C1 et2 et Cx pour faire un truc du genre
    monprog.sh -F myfile -C "phrase 1","phrase 2"

    Alors pour le moment voilà comment je récupère mes paramètres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    while test -n "$1"; do
        case "$1" in
            --help)
                print_help
                exit 0
                ;;
            -h)
                print_help
                exit 0
                ;;
            -F)
                file=$2
                shift
                ;;
            -C1)
                CRITquery=$2
                shift
                ;;
            -C2)
                WARNquery=$2
                shift
                ;;
            *)
                echo "Unknown argument: $1"
                print_usage
                exit 0
                ;;
        esac
        shift
    done
    Sachant que ensuite chaque paramètre entré dans C je dois les manipuler pour faire des tests.

    Donc j'ai essayé en faisant un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo $WARNquery | sed 's/,/\n/g'
    Donc sur la sortie standard il affiche chaque élément à la ligne.
    Mais j'ai pas réussis à les mettre dans des variables distinstes.

    Si vous pourriez m'aider.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #!/bin/sh
    while getopts :F:C: opt
    do
        case $opt in
           F)file="$OPTARG";;
           C)phrases="$OPTARG";;
           *) echo "Option incorrecte"
               exit 1
        esac
    done
    shift `expr $OPTIND - 1`
     
    echo "file=$file"
    for mot in `echo $phrase |sed -e "s/,/ /g"`
    do
        echo "mot: $mot"
    done
    echo "reste des arguments: $*"

Discussions similaires

  1. Une liste comme paramètre d'un html:select
    Par mmahouac dans le forum Struts 1
    Réponses: 2
    Dernier message: 31/10/2008, 11h47
  2. Utiliser la valeur d'une liste comme paramètre
    Par eudeline91 dans le forum IHM
    Réponses: 0
    Dernier message: 10/06/2008, 12h03
  3. [TSQL] variable à utiliser pour une liste de paramètre
    Par pemathez dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/03/2008, 10h34
  4. [SQL] passage du résultat d'une liste en paramètre d'URL parmi d'autres
    Par sara21 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 06/02/2008, 19h01
  5. Réponses: 2
    Dernier message: 08/09/2006, 10h00

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