使用Paramiko(Python)通过SSH执行smartctl命令时没有输出

使用Paramiko(Python)通过SSH执行smartctl命令时没有输出,python,bash,ssh,paramiko,Python,Bash,Ssh,Paramiko,我正在使用以下代码通过SSH成功执行命令: import paramiko hosts = ["192.168.1.156"] client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) for host in hosts: client.connect(host, username='user', password='******') stdin, s

我正在使用以下代码通过SSH成功执行命令:

import paramiko

hosts = ["192.168.1.156"]

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

for host in hosts:
    client.connect(host, username='user', password='******')
    stdin, stdout, stderr = client.exec_command("df -H")
    output = ''.join(stdout.readlines())

Print(output)
然而,只要我将“df-H”命令替换为“smartctl-hdisk1”,我就不会从Python获得任何输出。 也许值得一提的是,我也没有得到任何错误

当我在终端中运行“smartctl-hdisk1”时,它工作正常,并给出我期望的输出,但它只是通过Paramiko命令运行它,这似乎是问题所在

有什么想法吗

干杯


George取决于哪个命令不起作用

client.exec_命令(“smartctl-H disk1”)

然后,我将“which smartctl”输入一个终端,该终端给出“/usr/local/bin/smartctl”

用这个代替smartctl,效果不错

例如client.exec_命令(“/usr/local/bin/smartctl-H disk1”)


干杯

“我也没有收到任何错误”-您的意思是在
stderr
上没有收到任何输出吗?或者您没有收到任何Python错误?+您看到了吗?感谢您的回复,使用不同的命令(如“df-H”或“mount”)时,输出工作正常,但使用“smartctl”后,就没有输出了。谢谢你的链接,它实际上不是答案,但答案中的链接解决了我的问题。我不知道这是一件事,谢谢你让我知道。