前不久,寫了個很簡單的exp登陸腳本。 今天想經過rz上傳個文件,卻怎麼也傳不上去。 並不報錯,命令執行後除了文件未上傳,其它與上傳成功時同樣。前端
作爲一個前端開發,寫段shell真是一步一個坑。shell
鼓搗良久後發現,原來是字符集問題。 用.sh
將.exp
包裹,並在.sh
文件中指定LC_CTYPE=en_US
解決。vim
#!/bin/sh
export LC_CTYPE=en_US
/Users/test/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查看文件時的亂碼問題。bash