La secuencia de commands de shell se bloquea en el command de correo

Me parece que una llamada al command de correo está causando que un script se suspenda sin error. Para cerrar el script, tengo que ctrl-c o emitir un command kill en la identificación del process.

La sección pertinente del script está a continuación:

EMAIL_TO="my@email.com" if [ -f /www/archives/pdf/pdf_201207021048.tar ]; then echo "file exists" else echo "file does not exist" fi echo "sending mail next..." mail -s "pdfbackup" "$EMAIL_TO" echo "mail sent?" 

Cuando ejecuto esto, veo el text "enviando el correo siguiente …" y nada más. Nunca vuelve a preguntar.

Veo que el script todavía está en la memory con ps -ax | grep myscript.sh.

Intenté usar citas sobre el tema y el correo electrónico, y de nuevo sin. El mismo resultado se produce de cualquier manera.

¿Qué estoy haciendo mal?

El progtwig de mail espera que el usuario escriba el post en su input estándar (terminado por EOF ( Ctrl-D )). No está networkingireccionando stdin, el progtwig está esperando la input. Puede networkingirigir desde /dev/null (para un post vacío), desde un file enlatado o desde un conducto, por ejemplo:

 echo Hi, just sending you a message | mail -s "pdfbackup" "$EMAIL_TO" 

o

 mail -s "pdfbackup" "$EMAIL_TO" < /dev/null 

Ambos deberían aclarar el problema.