【问题标题】:Unable to execute commands using Ride-Robot-SSH Library无法使用 Ride-Robot-SSH 库执行命令
【发布时间】:2019-10-13 13:35:34
【问题描述】:

我正在探索为我的项目使用 RIDE-Robot 框架的选项。在这里,我使用的是 SSH 库。

我正在尝试登录我的服务器,然后尝试执行一些命令

我尝试手动登录服务器,然后发出 sudo admin 命令,然后执行命令集。

Using Ride- 我正在使用 Open Connection,Execute Command 关键字

我可以使用用户名和密码登录到服务器,但我无法执行命令。

你能帮我理解如何执行命令吗?

我可以使用用户名和密码打开连接和登录。

帕拉米科

import paramiko    

from paramiko import SSHClient

ssh = SSHClient()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('10.184.59.41', username='******', password='*******')

shell=ssh.invoke_shell()

shell.settimeout(0.5)

ssh.exec_command("sudo -u tradmin -E bash")

ssh.exec_command("/ThomsonReuters/apps/hillfarber")

******骑******

Open Connection    10.184.59.41
Login    ${username}    ${password}
Execute Command    sudo - u tradmin -E bash
${stdout}=     Execute Command     /ThomsonReuters/tools/bin/adsmon -key 29 -get IDBFeed  c205xcmpdfh01.ECP_TUL.IDBFeed.IDBFeed PageCount

无法执行命令,不显示错误

【问题讨论】:

  • 使用 Paramiko 我也无法执行命令
  • 什么是hillfarber?也许你想要 ssh.exec_command("./ThomsonReuters/apps/hillfarber")
  • Hillfarber 实际上是一个与我的项目相关的文件夹。是的,我想执行该命令,在此之前我需要执行 sudo -u tradmin -E Bash 命令。这些命令我都无法执行
  • 我在上面粘贴的代码有两件事,一件与 Paramiko 相关,另一件与我在 Ride Robot Framework 中的代码相关
  • 您是否尝试在执行命令中添加sudo=Truesudo_password=password 参数?

标签: python ssh robotframework


【解决方案1】:

Execute Command 的每次调用都在一个新的 shell 中 - 因此第一个中的 sudo 不会影响第二个中的用户。请参阅keyword documentation,建议使用WriteRead 关键字在同一shell 中执行命令的连续性。

或者,您可以将这两个调用组合在一个命令中 - sudo ... adsmon ...

【讨论】:

  • 澄清一下,我试图在一个命令中执行以下 2 个命令,命令 1:sudo -u tradmin -E bash,命令 2:/ThomsonReuters/tools/bin/adsmon -key 29 -get IDBFeed c205xcmpdfh01.ECP_TUL.IDBFeed.IDBFeed PageCount 单个命令:sudo -u tradmin -E bash ;/ThomsonReuters/tools/bin/adsmon -key 29 -get IDBFeed c205xcmpdfh01.ECP_TUL.IDBFeed.IDBFeed PageCount 我将命令 1 和 2 分开通过分号,在执行时我看到命令 1 正在执行。但是命令 2 没有被执行。您能否确认我如何附加这两个命令?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-15
  • 2020-08-17
  • 2020-03-08
相关资源
最近更新 更多