之前,写过一篇“Ubuntu下使用pexpect自动ssh和scp


使用pexpect一切运行很好


但是当你ssh到远端server后,如果输入的某个命令过长


它没有自动折行,仍然是在同一行,会把之前的字符给覆盖掉


上网google解决方案,没有搜到有用的信息,郁闷了好多天...


今天,查看pexpect的API手册,发现了里面一个这样的函数setwinsize


很怀疑是它造成的问题,查看了pexpect的源码,里面有这么一行:


self.setwinsize(24,80)


又查看了一下它自动覆盖的字符的长度,果然是80个字符


而在我的显示器上,80个字符并没有到达term的最大宽度


于是,在调用interact之前,根据自己的term大小重新设置一下参数:


p.setwinsize(25,96)


再运行程序,就ok了