Давайте предположим, что на данный момент вы являетесь пользователем-любителем или делаете это в стиле песочницы.
curl() можно использовать для FTP, даже для передачи.также wget (wput). и есть ncftp (для фоновой асинхронной передачи) и lftp.
.netrc - хорошая идея, даже от root.
Но ваше "эхо" вызывает беспокойство. Если вам нужны простые удаленные команды, установите putty-tools и используйте "plink". Существует также "pscp", если вы хотите его проверить. Профессионалы могут осуждать эти инструменты, но они отлично подходят для вашей домашней сети, cron-заданий и быстрого написания сценариев.
Это инструменты SSH, и они могут быть такими же мощными, как официальные продукты, такие как Ansible. Им требуется SSH-сервер, открытые порты для доступа к нему и, возможно, идентификационные данные. Я приношу извинения, если SSH для вас не по теме, тип скрипта, описанный в популярном ответе Джека, часто встречается при передаче sftp (обратите внимание на "s").
Кроме того, вы можете запускать CGI-подобные команды с FTP, но об этом обычно не говорят и публично не поощряют. Это включает в себя наблюдение за передаваемым файлом или использование "фиктивного" файла, доступного только для записи, на настраиваемом сервере.
(Далее следует загадочный пример).В дистрибутиве MVS3.8 "TK4-" на эмуляторе мэйнфреймов Hercules (теперь Hyperion) удаленный ввод задания осуществляется путем передачи по FTP в файл AAINTRDR, который заменяет устройство чтения карт для чтения "карт" в вашем файле.