【问题标题】:Pass command to KiTTY UI将命令传递给 KiTTY UI
【发布时间】:2020-01-06 07:42:28
【问题描述】:

我希望自动执行以下任务

  1. 启动 KitTY
  2. 输入用户名和密码
  3. 登录成功
  4. 输入以下命令以查看日志
tail -2000f /apps/test/good.log

我可以使用下面的代码达到第 3 点

from subprocess import Popen
Popen("powershell kitty-0.73.1.1.exe sakthi@x.y.w.z -pw YYYY")

(新的 KiTTY 窗口打开,用户登录成功)

但是我不知道如何通过下面的命令

tail -2000f /apps/test/good.log

注意: 我正在使用 Python3

我想要这个 UI 级别的自动化。在测试时,我有大约 5 到 6 个日志文件要查看。我不想手动打开所有日志。所以我正在寻找一种自动化的方法。

我使用的是 KiTTY,因为它可以在网络出现问题时自动重新连接。

【问题讨论】:

  • 你问的是一个稍微不同的问题,但答案是一样的stackoverflow.com/questions/163542/…
  • 为什么要从 Python 运行 PowerShell 来运行另一个应用程序? + 为什么你还要运行应用程序来在 SSH 服务器上执行命令?使用原生 Python SSH 模块,例如 Paramiko。而且你不会有这种问题。
  • @Grismar 我希望在 UI 级别实现这种自动化。
  • @KandanSiva 请查看提供的链接 - 在标准输入上以字符数据流式传输等同于用户在该流上键入数据。除非您认为存在时间问题(应用程序先读取流),否则这应该是您想要的解决方案。

标签: python python-3.x ssh putty


【解决方案1】:

KiTTY 和 PuTTY 都有 -m 命令行开关,为 SSH“exec”通道提供命令。
对此进行了讨论:Automating command/script execution using PuTTY

KiTTY 还具有-cmd command-line switch,它(与-m 相反)模拟 SSH“shell”通道上的击键。它相当于KiTTY "Automatic Command" feature
另见Open command line in C# and send commands PuTTY or KiTTY


虽然如果你想自动化测试,你最好使用原生 Python SSH 模块,比如Paramiko

【讨论】:

  • 如果您有新问题,请将其作为新问题发布。这是问答网站,不是聊天。
猜你喜欢
  • 2012-04-15
  • 2017-01-30
  • 2023-04-05
  • 2019-02-16
  • 2018-06-18
  • 2017-12-15
  • 2012-06-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多