无需进入 tftp 命令行即可执行 tftp 命令

无需进入 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>

在“使用:”消息之后,它会进入tftp命令行。

我已尝试打开详细选项。

我只是想知道我给出的命令是否正常工作。“usage:”消息看起来好像不是命令的正确用法tftp

此命令将从 Bash 文件调用,而该文件将从我正在使用的 CLI 应用程序中调用。

我已遵循此链接上的建议:https://superuser.com/questions/581812/put-file-with-tftp-client-in-linux

答案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

相关内容