[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Problema raro, raro... en shell script



El Wed, 11 Sep 2013 02:12:45 +0200, Alfonso escribió:

>> ¿Y si lo ejecutas manualmente asignado valores a las variables?
>> 
>> Si funciona definiendo a mano los valores que deberían tener esas
>> variables del bucle entonces ejecuta un "echo" antes de la ejecución
>> del bucle para ver con qué valor llegan.
> 
> Aix... había puesto mal el echo. Ahora poniendo el echo antes de cada
> for veo que solo se ejecuta el primero (en la misma rutina hay dos for):
> 
> 
> # Creacion de reports temporales por volumen echo "primer loop" ; for
> MULTIHOSTSNETAPP in $HOSTSNETAPP ; do
>         echo "segundo loop" ; for MULTIVOLNETAPP in $VOLCONF ; do
>                 $STORAGENETAPPBIN -H $MULTIHOSTSNETAPP -w $WARN_LEVEL
> - -c $CRIT_LEVEL -v $MULTIVOLNETAPP | xargs echo $MULTIHOSTSNETAPP : >>
> $TMPBASE/netapp.txt ; echo "OK. Ha rulado"
>         done
> done
> 
> 
> Esta es la  salida:
> 
> + echo 'primer loop'
> primer loop + sed -e 's/-/: /g'
> /usr/local/bin/reports/capacitat/tmp/netapp.txt sed: no se puede leer
> /usr/local/bin/reports/capacitat/tmp/netapp.txt: No existe el fichero o
> el directorio
> 
> O sea, que el segunso for no se está ejecutando "ahora", ya que como he
> comentado con anterioridad esa misma rutina se ejecutaba si se ponía en
> primer lugar o en un script independiente.

Alfonso, concuerdo con Santiago: no se está ejecutando el primer "for" 
_del segundo bucle_, es decir, este:

***
for MULTIHOSTSNETAPP in $HOSTSNETAPP ;
***

Imprime en pantalla el valor de "$HOSTSNETAPP" para saber cómo se inicializa
en el bucle (o asígnale artificialmente el valor que debería tener):

***
echo $HOSTSNETAPP;
for MULTIHOSTSNETAPP in $HOSTSNETAPP; do
	echo "segundo loop";
        for MULTIVOLNETAPP in $VOLCONF; do
		$STORAGENETAPPBIN -H $MULTIHOSTSNETAPP -w $WARN_LEVEL - -c $CRIT_LEVEL -v $MULTIVOLNETAPP | xargs echo $MULTIHOSTSNETAPP : >> $TMPBASE/netapp.txt; 
		echo "OK. Ha rulado";
	done
done
***

Saludos,

-- 
Camaleón


Reply to: