Esta linha:
lftp ftp://${userFTP}:${passFTP}@${servFTP} -e 'set ssl:verify-certificate false;set file:charset utf8;set ftp:charset utf8;cd downloads;mv "${fileName}" "${ftpDestinationPath}"'
O -e
bit está entre aspas simples, o que significa que o shell não substituirá ${fileName}
ou ${ftpDestinationPath}
pelos valores dessas variáveis.
Para corrigir isso, use aspas duplas:
.... -e "set ssl:verify-certificate false;set file:charset utf8;set ftp:charset utf8;cd downloads;mv '${fileName}' '${ftpDestinationPath}'"
Se de alguma forma falhar (não posso testá-lo atualmente), use \"
no lugar de cada uma das aspas simples acima.