【问题分析】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')
相关推荐
Lyre丶5 分钟前
Ubuntu 24.04 LTS 安装GAMIT
linux·经验分享·学习·ubuntu·gamit
namekong88 分钟前
ubuntu 通过下面几种方式查看系统 重启时间/开机时间:
linux·运维·ubuntu
爱奥尼欧17 分钟前
【Linux】网络部分——网络基础(协议与网络传输)
linux·网络·arm开发
mldong31 分钟前
保姆级教程!手把手教你搭建FastAPI + Vue3前后端分离项目
vue.js·python·全栈
_dindong31 分钟前
Linux系统编程:线程概念
linux·运维·笔记·学习
Q_Q5110082851 小时前
python+uniapp基于微信小程序美食点餐系统
spring boot·python·微信小程序·django·flask·uni-app·node.js
小关会打代码1 小时前
关于Pycharm中在运行出现语法错误:Non-UTF-8 code starting with
ide·python·pycharm
用户3721574261351 小时前
Python 高效将 PDF 转换为 HTML 的实用指南
python
深栈1 小时前
机器学习:编码方式
人工智能·python·机器学习·编码
yzx9910131 小时前
Django 搭配数据库开发智慧园区系统全攻略
python·django·数据库开发