Как на Bash посчитать количество файлов на удаленном фтп?
Не примите за занудство, но bash (и другие sh) не умеет заходить на ftp. Вам необходимо использовать внешнюю программу, которая это умеет, и тут начинаются зависимости от версии Вашей ОС, что установлено и что можно установить и т.д. и т.п. Уточните вопрос.

btw, если есть возможность логина по ssh вместо ftp, то вопрос решается легко через
find /path/to/dir -type f | wc -l
Всяко производительней делать подсчет на стороне где лежат эти файлы, вместо пересылки списка файлов. Кроме того, команда dir протокола ftp не делает рекурсивный листинг, так что таких команд придется прогнать столько, сколько найдется поддиректорий, это дополнительные тормоза.
Большинство ftp не позволяют исполнять рекурсивный ls.
А еще бывает там лежат файлики типа ls-lR.gz