私は実際に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サーバーから来る必要があります。