Shell-Skript + Mutt: Mutt beendet While-Schleife

Shell-Skript + Mutt: Mutt beendet While-Schleife

Ich habe ein Problem mitKötervorzeitiges Beenden meiner while-Schleife in meinem Shell-Skript.während MAILTO gelesen wirdSchleife meiner FunktionDateien sendenverarbeitet (sendet) nur die erste Datei und kehrt dann zurück. Wenn ich jedoch '/usr/bin/mutt' aus der Funktion auskommentiere, werden alle Dateien im Verzeichnis ordnungsgemäß verarbeitet.

Weiß jemand, warum dieses Verhalten auftritt und wie man es beheben kann?

#!/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)

Antwort1

Mutt wechselt nach dem Senden einer E-Mail in den interaktiven Modus. Dadurch werden Sie aus der Schleife herausgeholt und < /dev/nullam Ende Ihrer Mutt-Anfrage hinzugefügt

Beispiel:

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

verwandte Informationen