Joa*_*edo 5 python ssh pexpect
我正在使用一个简单的pexpect脚本来ssh到远程机器并获取命令返回的值.有没有办法,pexpect或sshwise我可以用来忽略unix问候语?也就是说,来自
child = pexpect.spawn('/usr/bin/ssh %s@%s' % (rem_user, host))
child.expect('[pP]assword: ', timeout=5)
child.sendline(spass)
child.expect([pexpect.TIMEOUT, prompt])
child.before = '0'
child.sendline ('%s' % cmd2exec)
child.expect([pexpect.EOF, prompt])
# Collected data processing
result = child.before
# logon to the machine returns a lot of garbage, the returned executed command is at the 57th position
print result.split('\r\n') [57]
result = result.split('\r\n') [57]
Run Code Online (Sandbox Code Playgroud)
我怎样才能简单地得到返回值,忽略"最后一次成功登录"和"(c)版权"的东西,而不必关心价值正确的位置?
谢谢 !
如果您可以访问要登录的服务器,则可以尝试创建.hushlogin主目录中指定的文件.该文件的存在使标准的MOTD问候和类似的东西沉默.
或者,尝试ssh -T,这将完全禁用终端分配; 你不会得到shell提示符,但你仍然可以发出命令并阅读响应.
ServerFault上还有一个类似的线程可能对你有用.
| 归档时间: |
|
| 查看次数: |
4173 次 |
| 最近记录: |