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?
$ ./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
-
ModérateurSalut,
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 -
Contributeurman getopt
une commande shell qui permet de traiter les options avec ou sans paramètres-
-
ContributeurNAME
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 ... -
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
-
-
ModérateurSalut,
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
-
ContributeurSalut,
Essaye de tester les valeurs de $1, $2 et $3.
Dal