for F in *.xml; do .... doneel problema esta en que si no existe ningun archivo xml va a intentar abrir un archivo llamado *.xml, que obviamente no existe....
Checa nullglob en el manual de bash.
intente con esto: for F in *.xml; do if [ "$F" = "*.xml" ] ; then echo "no hay archivos en la carpeta fi done
Doble signo de igual, en lugar de uno. -- Octavio.