У меня есть проблема с дураком, выходящим из моего цикла с условием продолжения преждевременно в моем сценарии оболочки. В то время как считано цикл MAILTO моей функции sendFiles только обработает (отправляют) первый файл, и затем возвращается. Однако, если я комментирую '/usr/bin/mutt' от функции, все файлы в каталоге обрабатываются правильно.
Кто-либо знает, почему это поведение происходит и как зафиксировать его?
#!/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)
Дурак входит в интерактивный режим после отправки электронного письма, это повреждается, Вы из цикла добавляете < /dev/null
в конце Вашего запроса дурака
Пример:
/usr/bin/mutt -s "Your file" -a $MAILTO -- $MAILTO < /dev/null