嵌入式系統開發的時候 一台做開發主機 一台作目標板
開發完成之後要傳檔案給目標板
不同電腦之間要傳檔案真的很麻煩
所以利用中間一台電腦架了ftp

可是開發主機要把檔案送到ftp還是很麻煩
>ftp xx.xx.xx.xx
>輸入使用者、密碼
>put file
>bye

然後還會不小心變成輸入
#upload file
囧....
於是就想說寫個快速上傳的script,將懶人精神發揮到極限
#!/bin/sh
$IP=192.168.0.30
$USER=user
echo -e "$USER\n\nput $1\nbye" | ftp $IP
然後失敗!

我也不知道啥原因,反正叫出男人與股溝神來幫我:man ftp
男人說可以在家目錄新增一個.netrc檔案
股溝神說.netrc內容大致上長這樣
machine 192.168.0.30 login upload password test
machine 192.168.0.32 login upload22 password test22

如果你ftp到裡面有記載的位址,便會自動幫你輸入帳密
但如果你的設定檔裡面有填寫密碼的話,必須將.netrc的權限設為600(為了安全性)
#chmod 600 .netrc

接著可以將指令寫成一個文字檔,例如:ftp_batch
cd dir01
get main.c
bye
然後下
#ftp 192.168.0.30 < ftp_batch
就自動化了

什麽?你還嫌不夠?沒錯!我也嫌不夠!所以他又進化成script了:)
#!/bin/sh
#懶人script 上傳檔案用

#設定
IP=192.168.0.30

#echo -e "get $1\nbye" > ftp_batch
echo -e "put $1\nbye" > ftp_batch
ftp $IP < ftp.bat
rm -f ftp_batch

還沒結束,為了要讓這隻程式到處都可以執行,所以記得把他搬到/bin裡頭
好,搞定!以後只要打
#upload.sh main.c
就會自動將main.c上傳到192.168.0.30

koukaipan 發表在 痞客邦 PIXNET 留言(0) 人氣()