Debian - 在 bash 脚本中使用 TFTP

Debian - 在 bash 脚本中使用 TFTP

我实际上正在使用 RPiTC(Raspberry Pi 瘦客户端)。

我创建了一个脚本来查看我的主机名是否与文件同名。现在我想说“如果我的主机名与我的文件名不同,则使用 tftp 协议获取该文件”。

我的 tftp 服务器位于 Windows XP 上。所以我想这样做:

Hostname is different from the file name
                |
                |------> Use tftp Protocol to take the file on my windows.

这实际上是我的脚本:

do_start()
#Creating and checking my Hostname variable
ThisHost=$(hostname)
date=$(date)
echo "This is my hostname check:
echo $ThisHost

#This will find the file in the /home/rpitc folder and save it to a variable:
dest=$(find /home/rpitc/ -name "$ThisHost.ica")
echo "This is my dest check:"
echo $dest
findfile="${dest##*/}"
echo "This is my findfile check with extension:"
echo $findfile
echo "This is my findfile check WITHOUT extension:"
echo "${findfile%.*}"

#If check to see if my hostname $ThisHost matches the file $findfile:
if test "$ThisHost" = "${findfile%.*}"

then
    echo "Worked!"
    echo $ThisHost "is correct. Connected the" $date >> /home/rpitc/skelog
    exit 0
else
tftp=$(tftp 10.1.0.203)
GetIt=$("\Test\$ThisHost.ica")
    echo "My tftp test:"
    echo $tftp
    echo "My GetIt test:"
    echo $GetIt
    echo $ThisHost "is not correct, update of the file at" $date >> /home/rpitc/skelog
    exit 0
fi

所以我需要关于脚本的这一部分的想法:

else
tftp=$(tftp 10.1.0.203)
GetIt=$("\Test\$ThisHost.ica")
    echo "My tftp test:"
    echo $tftp
    echo "My GetIt test:"
    echo $GetIt
    echo $ThisHost "is not correct, update of the file at" $date >> /home/rpitc/skelog
    exit 0
fi

我不知道如何在我的 bash 脚本中使用 tftp 协议......

答案1

使用here documents

tftp 10.1.0.203 << fin
   get /test/${ThisHost}.ica
   quit
fin

这应该来自/test/${ThisHost}.ica您的 tftp 服务器。

相关内容