Você não pode usar globbing com -e
dentro de []
porque provavelmente retornará mais de um resultado, o que causará um erro de muitos argumentos.
Você pode tentar:
shopt -s nullglob
if [[ -n "$(echo Pretty*)" ]]
ou
if [[ "$(echo Pretty*)" != "Pretty*" ]]
Além disso, use recuo, espaços e continuação de linha para tornar seu código mais legível:
#!/bin/bash
shopt -s nullglob
if [[ -n "$(echo Pretty*)" ]]; then
ncftpput -R -DD -v -u xbmc -p xbmc 192.168.1.100 \
/home/xbmc/TV/Pretty_Little_Liars/ Pretty*
else
echo "No new folders"
fi
find -depth -type d -empty -exec rmdir {} \;