最近在单位写一个自动 build 的小工具。因为 clearcase 的setview
命令实际上是激活一个新的shell
,所以用简单的「串通」shell
的脚本很难做到。
因为在邮件组里面看到有同样问题的 Matt 说用paramiko
解决了问题,就试了试,过程还颇有点艰辛。
首先,paramiko
没有直接的msi
或者exe
版本给Windows
用户下载,而是需要在本地进行编译。而且python
的easy_install
工具在 Vista 下面会报错,所以至少花了十几分钟才算安装完毕。
结果在用 test.py 验证安装的时候就报错了,说什么:
paramiko.SSHException: No suitable address
安装是我自己一步步弄得,难道搞错了?只好照着 demo 写了一个 sftp 的脚本,发现是可以跑的,干。
只好丢了封信给邮件组,然后自己开始找是啥问题。丢给邮件组的信至今没有回音(人气不行啊,paramiko
),问题还是找到了。原来是 1.7.5 的paramiko
增加了对 ipv6 的支持,结果引入了错误。更新了client.py
后重新编译就可以用了。
最后,虽然 demo 的例子也挺多,但是好像没有说清楚怎么用 invoke_shell 和 get_pty 以及照例奉上一段代码。