Salut à tous
Voici mon souci : j'ai écris un script test.sh qui va appeler soit ./cowtime.sh, soit ./othercow.sh
Je passe en paramètres de test.sh les options de cowtime.sh ou othercow.sh (qui sont exactement les mêmes en fait), mais également
l'option -v qui va décider si je lance cowtime ou othercow.
Le soucis, c'est que quand je veux lancer cowtime.sh ou othercow.sh dans test.sh, je dois leur passer les bons paramètres, c'est à dire ceux que j'ai déjà passés à test.sh
Pour cela je les ai stockés dans une variable optstmp, puis j'appelle alors les fonctions comme cela :
./cowtime.sh "$optstmp"
ou
./othercow.sh "$optstmp"
mais cela ne fonctionne pas Il appelle bien les fonctions choisies mais ne prend pas en compte les paramètres passés
Voici mon code :
Code :
- #!/bin/bash
- optstmp=""
- vachechoisie="othercow"
- while getopts e:t:dp:v: option
- do
- if [ "$option" = "e" ]
- then
- optstmp="$optstmp -$option $OPTARG"
- fi
- if [ "$option" = "t" ]
- then
- optstmp="$optstmp -$option $OPTARG"
- fi
- if [ "$option" = "d" ]
- then
- optstmp="$optstmp -$option"
- fi
- if [ "$option" = "p" ]
- then
- optstmp="$optstmp -$option $OPTARG"
- fi
- if [ "$option" = "v" ]
- then
- vachechoisie="$OPTARG"
- fi
- done
- echo "$optstmp"
- if [ "$vachechoisie" = "othercow" ]
- then
- ./othercow.sh "$optstmp"
- else
- ./cowtime.sh "$optstmp"
- fi
|
Message édité par tibzz le 09-12-2007 à 16:49:18
---------------