python - 只有 pwd 命令在 Paramiko 中成功,其他命令失败并显示 "ksh: ...: cannot execute - No such file or directory"

标签 python shell ssh paramiko qnx

能够成功地在我的 Windows 机器和 QNX (~linux) 系统之间创建 SSH 连接。

唯一获得任何输出(标准输出)的命令是“pwd”。

# SSH Connection stuff

stdin, stdout, stderr = client.exec_command('pwd')
output = stdout.readlines()
error = stderr.readlines()
readback = [output, error]

for index, val in enumerate(readback):
    readback = '\n'.join(val)
    print("%s:\t%s") %(index, readback)

'pwd' 的示例输出:

0: /home/rxm
1:

当我将命令从 pwd 更改为 ls 时:

0:  
1:  ksh: ls: cannot execute - No such file or directory

我在尝试其他简单命令时遇到同样的错误,例如pidinifconfig

当我使用 PuTTY 并创建 SSH 连接时,所有必要的命令都有效。

有没有人见过这种行为。走 invoke.shell 路线时也不是一帆风顺。谢谢。

最佳答案

pwd 可能内置在您的 shell 中,而您正在运行的所有其他命令都不是。 ls 未找到,因为未设置$PATH,因此您可以设置PATH 环境变量,或者在调用命令时使用完整路径,例如 /bin/ls

关于python - 只有 pwd 命令在 Paramiko 中成功,其他命令失败并显示 "ksh: ...: cannot execute - No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53455045/

相关文章:

python - 一次调用两个定义的函数时出现矛盾的输出

python - 有没有一种简单的方法可以为 Kivy 按钮添加边框

c - 如何制作一个允许SSH密码输入的类shell程序?

python - 如何在电子邮件中查找集群

python - 在 python 中使用 scikit 包在 SVM 中获取负 alpha 值

linux - 命令行参数如何从 shell 传递到可执行文件?

macos - 像 "drwx--xr-x"这样的字符在 "ls"的输出中意味着什么?

linux - 如何切换文件中文本的大小写

linux - 登录到从 AMI 创建的实例,在 sshd_config 中将 PasswordAuthentication 设置为 yes

php - 如何解决未在SSH中设置的术语环境变量