El Sun, 27 Jan 2002 18:53:30 -0300
Santiago Pastorino <[EMAIL PROTECTED]> escribió:

> Quisiera hacer un script que se fije la salida de mailq y mientras esta
> no sea igual a 
> Mail queue is empty
> Siga en un bucle hasta que mailq sea igual a
> Mail queue is empty
> y cuando sean iguales diga finalizado.
> Esto fue lo escribi pero no anda porque no tengo ni idea de programar en
> bash
> 
> #!/bin/sh
> MAIL1=`mailq`
> echo 'Enviando el correo'
> while echo $MAIL1 = 'Mail queue is empty' # esta fallando aquí
>   do
>     MAIL1=`mailq`
>   done
> echo 'finalizado'
> 
> ¿Como hago para que se fije si echo $MAIL1 es igual a Mail queue is
> empty?
> Gracias.
> 
> 

con esto lo podes hacer:

#!/bin/sh

MAIL1=`mailq`;
echo "Enviando el correo"
while [ "$MAIL1" != "Mail queue is empty" ]
   do
     MAIL1=`mailq`;
     sleep 1;
   done
echo "finalizado"
 

el "sleep 1" es para que pare un segundo despues de haber ejecutado mailq,
eso es para que no consumas tanta CPU al ejecutar el mailq sin parar

saludos, Diego.

Responder a