저는 실제로 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 서버 에서 와야 합니다 .