Script sh/ksh ... execution de commande avec parametres...
Gautherot Denis
denis.gautherot at ferma.fr
Jeu 2 Mar 13:48:52 UTC 2006
Bonjour, j'essaye dans un script sh ou ksh peu importe (ca marche pas ni
dans l'un ni dans l'autre), de faire la chose suivante:
# Recuperation de la configuration des pools
L_POOLS=`readValueFromConfigFile POOLS PoolName`
count=1
for vars in $L_POOLS; do
L_PoolName=`readValueFromConfigFile $vars poolName`
L_PoolMax=`readValueFromConfigFile $vars nbMax`
L_PoolTotal=`readValueFromConfigFile $vars nbTotal`
NEMC_DEBUG_LOG "$count :
$L_PoolName / $L_PoolMax / $L_PoolTotal"
# Formation des parametres de la commande a executer
L_params="$L_params -poolObjects \"$L_PoolName
$L_PoolMax $L_PoolTotal\""
(( count += 1 ))
done
$MCL_CMD create -instance SLEE.POOLS -new OCL_SLK $L_params
Or a l'execution de cette sequence (sh -x toto.sh) (extraite de mon
script), j'obtiends l'execution suivante:
+ /opt/FERMA/bin/MCL -c create -instance SLEE.POOLS -new OCL_SLK
-poolObjects '"BIND_REQ' 4 '4"' -poolObjects '"BIND_CONF' 4 '4"'
-poolObjects '"UNBIND_REQ' 4 '4"' -poolObjects '"UNBIND_CONF' 4 '4"'
-poolObjects '"CONNECT_IND' 256 '256"' -poolObjects '"CONNECT_CONF' 256
'256"' -poolObjects '"DISCONNECT_IND' 256 '256"' -poolObjects
'"DISCONNECT_CONF' 256 '256"' -poolObjects '"DATA_IND' 256 '256"'
-poolObjects '"UNIDATA_IND' 256 '256"' -poolObjects '"ENABLE' 4 '4"'
-poolObjects '"DISABLE' 4 '4"' -poolObjects '"INSTANCIATE' 4 '4"'
-poolObjects '"TIMER' 16 '16"' -poolObjects '"DATA' 256 '256"'
-poolObjects '"OCL' 0 '0"' -poolObjects '"START' 0 '0"' -poolObjects
'"ABORT' 0 '0"' -poolObjects '"END' 0 '0"' -poolObjects '"EVENT' 0 '0"'
-poolObjects '"RETURN' 0 '0"'
alors que je devrait avoir :
+ /opt/FERMA/bin/MCL -c create -instance SLEE.POOLS -new OCL_SLK
-poolObjects "BIND_REQ 4 4" -poolObjects "BIND_CONF 4 4" -poolObjects
"UNBIND_REQ 4 4" -poolObjects "UNBIND_CONF 4 4" -poolObjects
"CONNECT_IND 256 256" -poolObjects "CONNECT_CONF 256 256" -poolObjects
"DISCONNECT_IND 256 256" -poolObjects "DISCONNECT_CONF 256 256"
-poolObjects "DATA_IND 256 256" -poolObjects "UNIDATA_IND 256 256"
-poolObjects "ENABLE 4 4" -poolObjects "DISABLE 4 4" -poolObjects
"INSTANCIATE 4 4" -poolObjects "TIMER 16 16" -poolObjects "DATA 256 256"
-poolObjects "OCL 0 0" -poolObjects "START 0 0" -poolObjects "ABORT 0 0"
-poolObjects "END 0 0" -poolObjects "EVENT 0 0" -poolObjects "RETURN 0 0"
noter en fait que le probleme est l'apparition des cotes simples au beau
milieu de mes parametres, et du coup, mon appli "MCL" ne sait pas
decoder ca...
en gros pour simplifier, une execution normale de ma commande devrait
etre (pour simplifier):
/opt/FERMA/bin/MCL -c create -instance SLEE.POOLS -new OCL_SLK
-poolObjects "BIND_REQ 4 4"
mais en fait, avec mon script, la commande reellement executee est :
/opt/FERMA/bin/MCL -c create -instance SLEE.POOLS -new OCL_SLK
-poolObjects '"BIND_REQ' 4 '4"'
Ayant beau chercher chez mon ami google, à part des tutos simpliste, je
n'ai rien trouvé qui puisse maider a corriger ce bug !
Quelqu'un pourait-il m'aider ? un gourou des script sh/ksh ?!
Merci d'avance !
Denis
--
Windows c'est comme un Tamagoshi... Même quand tu t'en occupes il meurt.
=> Linux User #354241 !
Plus d'informations sur la liste de diffusion ubuntu-fr