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. Contributeur
    Salut,

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

    Dal
    0
    1. 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
      

      0
      1. Contributeur
        man getopt
        une commande shell qui permet de traiter les options avec ou sans paramètres
        0
        1. Modérateur
          getopts ;-))

          Dans "man bash" ;-)
          0
        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 ...
          0
        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
          0
      2. 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
        0