
Para ello podemos utilizar "while read...", pero cuando hacemos efectivamente el script podemos ver que se ejecuta en la primera máquina y no se ejcuta en las demás:
# while read server; do
ssh $server 'uptime'
done < list
La razón es que while lee de la entrada estándar (stdin) y el comando ssh toma el control de la entrada estándar, de manera que estropea el bucle que se está haciendo. Añadiendo la opción -n antes del comando ssh redirecciona a la entrada estándar que espera ssh de /dev/null, previniendo que ssh estropee el bucle.
De este modo el comando correcto que funcionaría sería:
# while read server; do
ssh -n $server 'uptime'
done < list
1 comentario:
Fiuu, gracias!
Solo me lo hacía en una máquina y me estaba volviendo loco.
Publicar un comentario