Isto é o que estou fazendo quando entro em um FTP:
ftp user:password@server
ftp: user:password@server: Unknown host
ftp> echo HELLO WORLD!
ftp> quit
Eu gostaria de fazer um comando FTP de uma linha ...
ftp user:password@server -command "echo HELLO WORLD"
ou
"echo HELLO WORLD" | ftp user:password@server
Algo semelhante ... como parte de um script que estou tentando criar. Nada está sendo transferido, só preciso repetir algumas instruções e essa é a maneira mais fácil de encontrar entre dois dos meus sistemas.
10.10
command-line
ftp
pipe
WernerCD
fonte
fonte
nick@AccessDenied:~$ ftp ftp> echo "hi" ?Invalid command ftp>
ftp
não tem umecho
comando.lftp
faz, mas é puramente local, então eu não vejo por que você iria querer fazer isso por si só ....Respostas:
Isso realmente é mais um trabalho para o SSH (como outros já apontaram), mas se você estiver determinado a usar o ftp, tente o lftp . Está disponível gratuitamente para todas as versões atualmente suportadas do Ubuntu. Você pode instalá-lo com o comando
sudo apt install lftp
O lftp documenta um
-c
switch que executa o comando e sai, mas parece estar quebrado na maioria das distribuições.-e
manterá você conectado, a menos que você aquit
.fonte
-c
funciona bem para mim no Ubuntu.~/.netrc
e garantir que esse seja o modo0600
. O FTP pode negociar senhas sem texto simples na ligação.Encontrei esse segmento quando estava procurando uma maneira de um único comando ftp executar uma transferência de arquivos desta máquina para o servidor ftp. Aqui está como:
Crie um arquivo com os comandos ftp: (chame de 'ftpcommands.txt')
Em seguida, execute o comando ftp e alimente o arquivo nele:
A opção -n evita que o ftp tente efetuar login automaticamente quando receber o comando 'abrir'.
Espero que ajude alguém. Como não consegui encontrar nada on-line que fosse essa solução, tive que descobrir por conta própria.
fonte
Você não pode usar o FTP para executar comandos remotamente. Significa File Transfer Protocol. O que você realmente precisa é SSH.
Tudo o que você precisa fazer é instalar o pacote
ssh
nas duas máquinas e seguir este guia para configurar logins sem senha.E agora como chamá-lo:
ssh username@host echo "Hello World\!"
Por exemplo, sou eu que faço isso sozinho:
fonte
Complementando a resposta @charlesbridge, inclua no seu arquivo ~ / .bashrc o seguinte:
Origem do arquivo:
Agora use o pseudônimo "yoursite" para efetuar logon e executar quantos comandos você desejar.
fonte
Instale o busybox usando:
O busybox pode funcionar no Linux ou no sistema incorporado, e usar ftpget e ftpput
fonte