当我们使用Python的Paramiko库的ssh.exec_command发送命令时。之后,我们将收到三个参数作为输出:stdin,stdout,stderr。因此,我想将stdout的输出与现有列表进行比较。那么stdout结果的排序是在什么基础上发生的,如果我比较它呢?
ssh.exec_command
stdin
stdout
stderr
50pmv0ei1#
如果您引用的是像ls这样的命令,您可能会根据环境变量的设置获得不同的结果。您可以根据是否为会话分配了终端来获得不同的环境。使用Paramiko SSHClient.exec_command,并将get_pty参数的默认值设置为False,您应该会得到与使用相同的结果:
ls
SSHClient.exec_command
get_pty
False
ssh user@host command
如果将get_pty设置为True,则会得到与使用相同的结果:
True
ssh -T user@host command
但是你不应该设置get_pty=True,因为当环境改变时,你的代码可能会中断。相关问题与更多细节:
get_pty=True
1条答案
按热度按时间50pmv0ei1#
如果您引用的是像
ls
这样的命令,您可能会根据环境变量的设置获得不同的结果。您可以根据是否为会话分配了终端来获得不同的环境。
使用Paramiko
SSHClient.exec_command
,并将get_pty
参数的默认值设置为False
,您应该会得到与使用相同的结果:如果将
get_pty
设置为True
,则会得到与使用相同的结果:但是你不应该设置
get_pty=True
,因为当环境改变时,你的代码可能会中断。相关问题与更多细节: