【问题分析】paramiko 执行命令报 No such file or directory

问题: 为什么这串代码执行 ls 等命令会报 sh: ls: cannot excute - No such file or directory 的问题?

原因分析:

  1. paramiko 默认使用 non-interactive / non-login shell
    当你使用 exec_command() 时,paramiko 启动的是一个非交互式、非登录式的 shell;这种 shell 不会加载完整的用户环境变量(如 PATH),导致找不到 /bin/ls 等命令。

解决方法:

  1. 使用命令的完整路径

    bash 复制代码
    使用 which 命令查看文件的完整路径, 例如: which ls 完整路径为 /bin/ls
    stdin, stdout, stderr = client.exec_command('/bin/ls')
相关推荐
不能跑的代码不是好代码6 小时前
Linux系统常用命令中文速查表
linux·运维·服务器
石一峰6996 小时前
深入理解 Linux 中断三层机制与 1-Wire 时序锁原理
linux·运维·服务器
无限码农7 小时前
Linux上通过cmake编译uchardet
linux·运维·服务器
yaoxin5211238 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
运维大师8 小时前
【Linux运维极简教程】06-网络配置与管理
linux·运维
中微极客9 小时前
解锁LLM开发全栈能力:Python + LangChain + RAG 工程实战指南
人工智能·python·langchain
hhzz9 小时前
Barbershop:基于GAN和分割Mask的图像合成技术——从理论到实战全解析
图像处理·人工智能·python·深度学习·计算机视觉
Ulyanov10 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
列逍11 小时前
博客系统测试
自动化测试·python·性能测试
探索云原生11 小时前
终于搞懂 Kueue:5 个核心对象一次讲透
linux·docker·ai·云原生·kubernetes