Bash
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 協議…
使用
here documents
.tftp 10.1.0.203 << fin get /test/${ThisHost}.ica quit fin
那應該
/test/${ThisHost}.ica
從您的 tftp 伺服器獲得。