我正在探索为我的项目使用RIDE-Robot Framework的选项。在这里,我正在使用SSH库。
我正在尝试登录服务器,然后尝试执行一些命令
手动,我尝试登录到服务器,然后提供sudo admin命令,然后执行命令集。
使用骑行-我正在使用“打开连接,执行命令”关键字
我能够使用用户名和密码登录到服务器,但是我无法执行命令。
能帮我了解如何执行命令吗?
我能够使用用户名和密码打开“连接并登录”。
Paramiko
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
无法执行命令,不会显示错误
答案 0 :(得分:0)
每次Execute Command
的调用都在新的外壳程序中-因此,第一个调用的sudo
在第二个调用中不会影响用户。请参见keyword documentation,建议在那里使用Write
和Read
关键字,以确保同一shell中命令执行的连续性。
或者,您可以将两个调用合并为一个命令-sudo ... adsmon ...
。