【问题分析】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')
相关推荐
八月ouc几秒前
Python实战小游戏(三): 简易文件管理器
python·shutil·文件管理器·os.walk·pathlib
安冬的码畜日常21 分钟前
【玩转 Postman 接口测试与开发2_020】(完结篇)DIY 实战:随书示例 API 项目本地部署保姆级搭建教程(含完整调试过程)
python·测试工具·django·接口测试·postman·fastapi·api项目
winfredzhang21 分钟前
wxPython实战:打造一个优雅的图片预览工具
chrome·python·预览·剪切板
superman超哥24 分钟前
仓颉GC调优参数深度解析
c语言·开发语言·c++·python·仓颉
誰能久伴不乏24 分钟前
Linux `epoll` 学习笔记:从原理到正确写法(含 ET 经典坑总结)
linux·服务器·网络·c++·ubuntu
Byron Loong29 分钟前
【机器视觉】人物安全距离监测
python·yolo·计算机视觉
Swizard36 分钟前
告别“裸奔”代码:用 Pydantic 让你的 Python 数据固若金汤
python
老歌老听老掉牙1 小时前
砂轮轮廓的数学建模与可视化分析
python·数学建模·sympy·砂轮
是阿威啊1 小时前
【第一站】本地虚拟机部署Hadoop分布式集群
大数据·linux·hadoop·分布式