与手动 SSH 会话相比,为什么 Paramiko 中某些命令的输出(如 "ls" 列表中的文件顺序)不同?
Why is an output of some commands (like an order of files in "ls" listing) different in Paramiko compared to manual SSH session?
当我们使用 Python 的 Paramiko 库的 ssh.exec_command
发送命令时。之后我们收到三个参数作为输出:stdin
、stdout
、stderr
。所以我想将 stdout
的输出与现有列表进行比较。那么,如果我比较什么,stdout
结果的排序是基于什么?
如果您指的是像 ls
这样的命令,您可能会根据设置的环境变量得到不同的结果。
并且可以根据会话是否分配终端获得不同的环境。
使用带有默认值 False
的 get_pty
参数的 Paramiko SSHClient.exec_command
,您应该得到与以下相同的结果:
ssh user@host command
如果将 get_pty
设置为 True
,您将获得与以下相同的结果:
ssh -T user@host command
但是你不应该设置 get_pty=True
,因为当环境改变时你的代码可能会中断。
更详细的相关问题:
当我们使用 Python 的 Paramiko 库的 ssh.exec_command
发送命令时。之后我们收到三个参数作为输出:stdin
、stdout
、stderr
。所以我想将 stdout
的输出与现有列表进行比较。那么,如果我比较什么,stdout
结果的排序是基于什么?
如果您指的是像 ls
这样的命令,您可能会根据设置的环境变量得到不同的结果。
并且可以根据会话是否分配终端获得不同的环境。
使用带有默认值 False
的 get_pty
参数的 Paramiko SSHClient.exec_command
,您应该得到与以下相同的结果:
ssh user@host command
如果将 get_pty
设置为 True
,您将获得与以下相同的结果:
ssh -T user@host command
但是你不应该设置 get_pty=True
,因为当环境改变时你的代码可能会中断。
更详细的相关问题: