栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Paramiko分别执行多个相关命令,并找出每个命令何时完成

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Paramiko分别执行多个相关命令,并找出每个命令何时完成

似乎您想实现一个交互式外壳,但是您需要控制单个命令的执行。仅使用SSH接口是不可能的。SSH中的“
shell”通道是带有输入和输出的黑盒。因此,Paramiko中没有任何东西可以帮助您实现这一目标。

如果您需要确定特定命令何时完成或特定命令的输出在何处结束,则需要使用Shell的功能。

您可以通过在两者之间插入唯一的分隔符(字符串)并在通道输出流中搜索来解决该问题。使用通用的* nix shell可以实现以下效果:

channel = ssh.invoke_shell()channel.send('cd /mytargetRepn')channel.send('echo unique-string-separating-output-of-the-commandsn')channel.send('./executeWhatIWantn')

尽管我并不是真的认为您经常需要它。使特定命令正常工作所需的大多数命令(例如

cd
或)
set
实际上不会输出任何内容。

因此,在大多数情况下,您可以使用

SSHClient.exec_command
并且您的代码将更简单,更可靠:
在Paramiko中执行多个命令,以使命令受其前辈的影响

即使您需要使用看起来像

su
/的复杂对象
sudo
,还是最好坚持使用
SSHClient.exec_command

使用Python在SSH中使用“ su -l”执行命令




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651113.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号