您的位置:首页 > 其它

perl的expect发送特殊字符问题

2010-12-15 14:30 141 查看
项目里面用到expect登录一台主机

口令是BI_wgjk_#@!



#$exp->send('BI_wgjk_#@!'."/n"); #错误
#$exp->send('BI_wgjk_#/@!'."/n"); #正确
$exp->send("BI_wgjk_#///@!/n"); #正确

可以看到expect对于perl的特殊字符@ 的处理,不是透明的

即使用了单引号也不行,必须加一次转义

如果用双引号,则需要转义2次

类似的还有$和%

注:

对expect/net::telnet的send/print和waitfor方法都是这样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: