Вот что я делаю, когда захожу на FTP:
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
Я хотел бы сделать однострочную команду FTP ...
ftp user:password@server -command "echo HELLO WORLD"
или
"echo HELLO WORLD" | ftp user:password@server
Нечто подобное ... как часть сценария, который я пытаюсь создать. Ничего не передается, мне просто нужно повторить некоторые инструкции, и это самый простой способ сделать это между двумя моими системами.
10.10
command-line
ftp
pipe
WernerCD
источник
источник
nick@AccessDenied:~$ ftp ftp> echo "hi" ?Invalid command ftp>
ftp
не имеетecho
командыlftp
делает, но это чисто локально, так что я не понимаю, почему вы хотели бы сделать это самостоятельно ....Ответы:
Это действительно больше для SSH (как уже отмечали другие), но если вы решили использовать ftp, попробуйте lftp . Он свободно доступен для всех поддерживаемых в настоящее время версий Ubuntu. Вы можете установить его с помощью команды
sudo apt install lftp
lftp документирует
-c
переключатель, который запускает команду, а затем завершает работу, но в большинстве дистрибутивов он не работает.-e
будет держать вас на связи, пока вы не выдадитеquit
.источник
-c
у меня работает нормально на Ubuntu.~/.netrc
и убедиться, что это режим0600
. FTP может согласовывать не-текстовые пароли по проводам.Я нашел этот поток, когда искал способ заставить одну команду ftp выполнить передачу файла с этого компьютера на сервер ftp. Вот как:
Создайте файл с командами ftp: (назовите его «ftpcommands.txt»)
Затем запустите команду ftp и введите в нее файл:
Опция -n не позволяет ftp пытаться войти в систему автоматически, когда он получает команду «открыть».
Надеюсь, что это помогает кому-то. Я не мог найти в Интернете ничего подобного, поэтому мне пришлось самому в этом разобраться.
источник
Вы не можете использовать FTP для удаленного выполнения команд. Он обозначает протокол передачи файлов. Что вам действительно нужно, так это SSH.
Все, что вам нужно сделать, это установить пакет
ssh
на обе машины, а затем следовать этому руководству для настройки входа без пароля.А теперь как это назвать:
ssh username@host echo "Hello World\!"
Например, это я делаю это для себя:
источник
В дополнение к ответу @charlesbridge включите в файл ~ / .bashrc следующее:
Исходный файл:
Теперь используйте псевдоним "yoursite", чтобы войти в систему и выполнить столько команд, сколько вы хотите.
источник
Установите busybox используя:
busybox может работать как в Linux, так и встраиваемой системе, а затем использовать ftpget и ftpput
источник