解决linux rz传输失败

前不久,写了个很简单的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查看文件时的乱码问题。

你可能感兴趣的:(解决linux rz传输失败)