Recuperation ligne de commande

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. Modérateur
    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
    1. Contributeur
      man getopt
      une commande shell qui permet de traiter les options avec ou sans paramètres
      1. Modérateur
        getopts ;-))

        Dans "man bash" ;-)
      2. Contributeur
        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 ...
      3. Modérateur
        @dubcekOups... 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
    2. Modérateur
      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
      

      1. Contributeur
        Salut,

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

        Dal