script de shell + mutt: mutt terminando el bucle while

script de shell + mutt: mutt terminando el bucle while

estoy teniendo un problema conchuchosalir prematuramente de mi bucle while en mi script de shell. Elmientras lee MAILTObucle de mi funciónenviar archivossolo procesará (enviará) el primer archivo y luego regresará. Sin embargo, si comento '/usr/bin/mutt' de la función, todos los archivos en el directorio se procesan correctamente.

¿Alguien sabe por qué ocurre este comportamiento y cómo solucionarlo?

#!/bin/sh
# sendReports.sh

# sendFiles function    
sendFiles ()
{
  cd $1
  ls -1 *@* | while read MAILTO
  do
    echo "Emailing file: $MAILTO"
    /usr/bin/mutt -s "Your file" -a $MAILTO -- $MAILTO
    rm -f $MAILTO
  done
}

# .... later in the life of this script ....
sendFiles /tmp/reports

# (end of file)

Respuesta1

Mutt entra en modo interactivo después de enviar un correo electrónico, esto te saca del bucle y agrega < /dev/nullal final de tu solicitud de mutt.

Ejemplo:

/usr/bin/mutt -s "Your file" -a $MAILTO -- $MAILTO < /dev/null

información relacionada