Recuperation ligne de commande

dr971 Messages postés 27 Statut Membre -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour j'ai un script tp4.sh que je lance en tapant la ligne suivante :
$ ./tp4.sh src -o ./data/mon_rapport.xml
ou encore
sh tp4.sh src -o ./data/mon_rapport.xml

Je souhaite recuper à partir de cette ligne de commande 3 variables (dossier, option, destination) avec :
dossier=src
option=-o
destination=./data/mon_rapport.xml
Comment est ce que je peux faire?
Configuration: Windows XP
Internet Explorer 6.0

4 réponses

  1. [Dal] Messages postés 6122 Date d'inscription   Statut Contributeur Dernière intervention   1 108
     
    Salut,

    Essaye de tester les valeurs de $1, $2 et $3.

    Dal
    0
  2. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    c'est ça que tu veux?
    lami20j@debian:~/trash$ cat tp4_test.sh
    #!/bin/bash
    
    dossier=$1
    option=${2#-}
    destination=$3
    
    echo $dossier
    echo $option
    echo $destination
    lami20j@debian:~/trash$ sh ./tp4_test.sh src -o ./data/mon_rapport.xml
    src
    o
    ./data/mon_rapport.xml
    

    0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    man getopt
    une commande shell qui permet de traiter les options avec ou sans paramètres
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      getopts ;-))

      Dans "man bash" ;-)
      0
    2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      NAME
      getopt - parse command options (enhanced)
      SYNOPSIS
      getopt optstring parameters
      getopt [options] [--] optstring parameters
      getopt [options] -o|--options optstring [options] [--] parameters

      j'ai ça dans mes scripts sh: set -- `getopt a:bcelmopsv $*`

      getopt ou getopts, ça se discute comme on dit dans les avions paris-Johannesbourg ...
      0
      1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Oups... désolé ;-))

        getopt ou getopts, ça se discute comme on dit dans les avions paris-Johannesbourg ...
        J'ai des excuses, j'ai jamais pris ce vol ;-DD
        0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    je ne pense pas que vous parlez de la même chose :-)

    dubcek parle de la commande getopt
    jipicy parle de la commande interne du bash getopts
    0