Это то, что я делаю, когда я вхожу в 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
Нечто подобное ... как часть сценария, который я пытаюсь создать. Ничего не передается, мне просто нужно повторить некоторые инструкции, и это самый простой способ сделать это между двумя моими системами.
В дополнение к ответу @charlesbridge, включите в ваш файл ~ / .bashrc следующее:
alias yoursite="lftp -u <username> -e \"<commandA;commandB>\" yoursite.com"
Источник файла:
source ~/.bashrc
Теперь используйте псевдоним «yoursite» для входа в систему. и выполните столько команд, сколько захотите.
Я нашел этот поток, когда искал способ, чтобы одна команда ftp выполнила передачу файла с этого компьютера на сервер ftp. Вот как:
Создайте файл с командами ftp: (назовите его «ftpcommands.txt»)
open YourFtpServer.com
user YourUserName YourPassword
put localfilename remotefilename
bye
Затем запустите команду ftp и введите в нее файл:
ftp -n < ftpcommands.txt
Опция -n не позволяет ftp пытаться войти в систему автоматически, когда она получает команду «открыть».
Надеюсь, это поможет кому-то. Я не смог найти в Интернете ничего подобного, поэтому мне пришлось самому в этом разобраться.
Вы не можете использовать FTP для удаленного выполнения команд. Он обозначает протокол передачи файлов. Что вам действительно нужно, так это SSH.
Все, что вам нужно сделать, это установить пакет ssh
на обеих машинах, а затем следовать этому руководству для настройки входа без пароля.
А теперь как это назвать:
ssh username@host echo "Hello World\!"
Например, это я делаю это для себя:
nick@AccessDenied:~$ ssh nick@localhost echo "Hello World\!"
Hello World!
Это действительно больше для SSH (как уже отмечали другие), но если вы решили использовать ftp, попробуйте lftp . Он свободно доступен для всех поддерживаемых в настоящее время версий Ubuntu. Вы можете установить его с помощью команды sudo apt install lftp
lftp -u username,password -e "your command;quit" ftp.site.com
lftp документирует переключатель -c
, который запускает команду, а затем завершает работу, но в большинстве дистрибутивов он кажется неисправным. -e
будет держать вас на связи, пока вы не выдадите quit
.
Установка busybox использование:
apt-get install busybox
busybox может работать над Linux или встроенной системой оба, затем использовать ftpget и ftpput
busybox ftpput -u USER -p PASSWD URL_FTPSERVER FILE_U_WANT
busybox ftpget -u USER -p PASSWD URL_FTPSERVER FILE_U_WANT