Выполнение команды tftp без ввода командной строки tftp

Я хочу выполнить команду tftp, не входя в «tftp командную строку».

Я пробовал следующие команды:

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

Но я получил:

usage:tftp host-name [port]
tftp>

После сообщения «use:» он входит в командную строку tftp.

Я пробовал это с включенной опцией verbose.

Я просто хочу знать, сработала ли команда, которую я дал. Сообщение «использование:» создает впечатление, что это неправильное использование команды tftp.

Эта команда должна вызываться из файла Bash, который будет вызываться из приложения CLI, над которым я работаю.

Я следовал советам по этой ссылке: https://superuser.com/questions/581812/put-file-with-tftp-client-in-linux

4
задан 20 March 2017 в 13:18

1 ответ

Можно использовать heredoc (<<) ввести команды для выполнения один за другим:

tftp host <<'EOF'
Enter
Commands
Here
EOF

Пример:

$ 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> 

$ 

Если Вы требовали tftp команда

get file1 /home/foobar/test.txt

можно сделать:

$ tftp host <<'EOF'
> get file1 /home/foobar/test.txt
> quit
> EOF
5
ответ дан 20 March 2017 в 13:18

Другие вопросы по тегам:

Похожие вопросы: