[eside-ghost] Loop que se rompe en bash

Pablo Pérez pablofausto en gmail.com
Lun Ago 20 14:45:38 CEST 2007


Hola

Tengo este script con el que pretendo ejecutar un comando remotamente en
un monton de servidores que tengo guardados en un fichero:

----------------------
#!/bin/bash
fichero="/home/lista_de_servidores.txt"
comando="/bin/df -h /mnt/disco_backup"

cat $fichero | while read linea
do
     servidor=`echo $linea | cut -d';' -f1`
     ip=`echo $linea | cut -d';' -f2`
     echo
     echo Ejecutando $comando en $servidor
     echo
     /usr/bin/ssh $ip "$comando"
done
---------------------------

Resulta que despues del primer ssh el loop se rompe y ya no sigue
procesando más líneas del fichero. Si cambio esa linea por un

echo $ip "$comando"

entonces si que procesa todo el fichero. He probado a poner

exec /usr/bin/ssh $ip "$comando"

y tambien esta otra:

( usr/bin/ssh $ip "$comando" )

pero sigue igual ¿Como hago para que la ejecución de ssh no rompa el bucle?

Gracias,
Pablo Pérez.






Más información sobre la lista de distribución eside-ghost