0
這裏是我使用paramiko shell包的python代碼,返回值r是7
而不是0
。但是,如果我在遠程shell中運行相同的命令,並echo $?
,它返回0
爲什麼stdout.channel.recv_exit_status的返回值是'7'而不是'0'
cmd = "curl --fail -s \"http://localhost:%s/\" > /dev/null" %HTTP_PORT
stdin, stdout, stderr = ssh.exec_command(cmd)
while not stdout.channel.exit_status_ready():
r = stdout.channel.recv_exit_status()
print "r is is %d" %(r) #it returns '7'
檢查'stdout'和'stderr'中的內容。 – pynexj
我無法複製。我嘗試了相同的一組命令,但得到了'0'。你可以:1.從cmd中刪除'--fail -s'和'>/dev/null',2.打印'stdout'和'stderr'? – hansaplast
@whjm,** stdin **和** stderr **都給出了與** stdout **相同的結果,它們全都返回'7' – georgewhr