昨天我问如何在 bash 脚本中使用 tftp 协议: Debian - 在 bash 脚本中使用 TFTP
现在我的 tftp 协议有问题。被获取的文件取决于我的主机名。因此,如果我输入错误的主机名,我的 tftp 协议不会说“嘿,该文件不存在!”。他只是创建一个空文件...
因此可以检查该文件是否存在于我的 tftp 服务器上。像这样的东西:
find 10.1.0.203 /test/${ThisHost}.ica
我知道这条线不起作用,这只是一个例子。
我想在我的脚本中做这样的事情:
else
ThisHost=$(hostname)
if
find 10.1.0.203 /test/${ThisHost}.ica
then
tftp 10.1.0.203 << fin
get /test/${ThisHost}.ica
quit
fin
exec iceweasel /home/rpitc/${ThisHost}.ica
else
zenity --error --text="Your Hostname is wrong."
fi
fi
所以这只是一个例子。但如果您知道如何做到这一点(使用真正的命令),那就太好了!
答案1
根据 tftp 的帮助,你不能:
tftp> ?
Commands may be abbreviated. Commands are:
connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet retransmission timeout
timeout set total retransmission timeout
? print help information
您也无法简单地ls
查看您拥有哪些文件。 TFTP(Trivial FTP)是一种非常精简的FTP,因此如果您需要检查文件,则必须切换到FTP 服务器。