解決linux rz傳輸失敗

baukh789發表於2019-05-12

前不久,寫了個很簡單的exp登入指令碼。 今天想通過rz上傳個檔案,卻怎麼也傳不上去。 並不報錯,命令執行後除了檔案未上傳,其它與上傳成功時一樣。

做為一個前端開發,寫段shell真是一步一個坑。

原因及解決方式

鼓搗良久後發現,原來是字符集問題。 用.sh.exp包裹,並在.sh檔案中指定LC_CTYPE=en_US解決。

簡單的程式碼示例:

  • test.sh
#!/bin/sh
export LC_CTYPE=en_US
/Users/test/test.exp
複製程式碼
  • test.exp
#!/usr/bin/expect -f
 set ip *.*.*.*
 set password **********
 set timeout 10
 spawn ssh root@$ip
 expect {
 "*yes/no" { send "yes
"; exp_continue}
 "*password:" { send "$password
" }
 }
 expect "#*"
 send "cd ..
"
interact
複製程式碼

另: 通過該設定也解決了通過vim檢視檔案時的亂碼問題。

相關文章