Cygwin下配置expect遇到的问题

Cygwin下定制的Cron执行 expect时发现无法配对gnupg的提示输入密码,曾经在英文提示符下运行过一段时间是正常的,如下脚本

spawn  exec.sh

expect {
        "Passphrase"  {send "passWd\r";exp_continue}
        }

 

后来不知道何原因提示密码变成中文提示符如下,不管如何提示符都无法正常发送密码,寻求解题思路

spawn  exec.sh

expect {
        "请输入密码:"  {send "passWd\r";exp_continue}
        }

 

整体Cygwin和配置包的环境信息如下:

1,cygwin版本

$ cygcheck -c cygwin
Cygwin Package Information
Package              Version        Status
cygwin               1.7.32-1       OK

2,cygwin安装包

$ cygcheck -c expect
Cygwin Package Information
Package              Version        Status
expect               5.45-1         OK

$ cygcheck -c tcl
Cygwin Package Information
Package              Version        Status
tcl                  8.5.11-1       OK

 

$ cygcheck -c gnupg
Cygwin Package Information
Package              Version        Status
gnupg                1.4.18-1       OK

3,Cygwin窗口下的locale

/tmp

$ locale

LANG=zh_CN.UTF-8

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_ALL=

Vim:dig---无异常字符

*- ∗  8727   Ob ∘  8728   Sb ∙  8729   RT √  8730   0( ∝  8733   00 ∞  8734   -L ∟  8735   -V ∠  8736   PP ∥  8741   AN ∧  8743   OR ∨  8744

(U ∩  8745   )U ∪

 

4,WINDOWSCMD窗口下的locale

C:\Users\ >locale

LANG=

LC_CTYPE="C.UTF-8"

LC_NUMERIC="C.UTF-8"

LC_TIME="C.UTF-8"

LC_COLLATE="C.UTF-8"

LC_MONETARY="C.UTF-8"

LC_MESSAGES="C.UTF-8"

LC_ALL=

 

 

你可能感兴趣的:(Cygwin下配置expect遇到的问题)