Executando o comando tftp sem entrar na linha de comando do tftp

3

Eu quero executar o comando tftp sem entrar na "linha de comando tftp ".

Eu tentei os comandos abaixo:

tftp xx.xx.xx.xx -c put file1 file2
tftp xx.xx.xx.xx -m binary -c file1 file2

Mas eu tenho:

usage:tftp host-name [port]
tftp>

Após a mensagem "usage:", ela insere a linha de comando tftp .

Eu tentei com a opção detalhada ativada.

Eu só quero saber se o comando que eu dei funcionou corretamente. A mensagem "uso:" faz parecer que não é o uso correto do comando tftp .

Esse comando deve ser chamado a partir de um arquivo Bash que será chamado a partir de um aplicativo CLI no qual estou trabalhando.

Eu segui os conselhos neste link: link

    
por runner 23.03.2016 / 05:36

1 resposta

4

Você pode usar heredoc ( << ) para inserir os comandos para executar um após o outro:

tftp host <<'EOF'
Enter
Commands
Here
EOF

Exemplo:

$ tftp localhost <<'EOF'
> ascii
> status
> quit
> EOF

tftp> tftp> Connected to localhost.
Mode: netascii Verbose: off Tracing: off
Rexmt-interval: 5 seconds, Max-timeout: 25 seconds
tftp> 

$ 

Se você deseja que o comando tftp seja

get file1 /home/foobar/test.txt

você pode fazer:

$ tftp host <<'EOF'
> get file1 /home/foobar/test.txt
> quit
> EOF
    
por heemayl 23.03.2016 / 05:45