Script sh/ksh ... execution de commande avec parametres...

Coffee inthecoffee at gmail.com
Jeu 2 Mar 14:32:58 UTC 2006


Le jeudi 02 mars 2006 à 14:48 +0100, Gautherot Denis a écrit :
> 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 !
> 
> 
> 
essaye de lancer le mod verbeux (set -x) à mettre en 2eme ligne du
script, la première étant #!/bin/ksh

après tu regardes où ton script crée ses quotes





Plus d'informations sur la liste de diffusion ubuntu-fr