网站建设里面链接打不开,新网站怎么做,seo排名公司,外贸网站建设十大标准目录
1.背景
2.问题合集
1#xff09;“bash: command not found”
2#xff09;Paramiko中正常的输入#xff0c;却到了stderr#xff0c;而stdout是空
3#xff09;命令实际是alias 1.背景 在自动化脚本中#xff0c;使用了库Paramiko#xff0c;远程SSH到后台服…目录
1.背景
2.问题合集
1“bash: command not found”
2Paramiko中正常的输入却到了stderr而stdout是空
3命令实际是alias 1.背景 在自动化脚本中使用了库Paramiko远程SSH到后台服务器上做一些操作。常用操作都OK但部分命令还是出现有一些问题。
2.问题合集
1“bash: command not found” 关于这个问题网上已经有很多文章给了原因和解决方法。 原因默认的paramiko.SSHClient()不以“登录”模式运行shell也不为会话分配伪终端。所以对于非交互式会话中.bash_profile没有来源获取不到环境变量。 解决方案原始命令curl http://locahost:8081 最简单方法
ssh.exec_command(bash --login -c curl http://locahost:8081) 参考
使用 Python Paramiko exec_command 执行时某些 Unix 命令失败并显示“command not found”答案 - 爱码网 paramiko连接centos7使用某些命令提示command not found_神经娃娃的博客-CSDN博客_paramiko bash: 未找到命令
使用paramiko中 Server not found in known_hosts的错误解决_weixin_34038652的博客-CSDN博客
2Paramiko中正常的输入却到了stderr而stdout是空 目前也不知道为什么Paramiko会把这个命令的输出收集在了stderr中。不过也还是有办法。例如 原始命令curl http://locahost:8081。输出的stderr中。 解决方法将stderr的内容重定向到stdout。
ssh.exec_command(curl http://localhost:8081 21) 参考
在Paramiko中执行curl时它的输出是stderr而不是stdout - 问答 - 腾讯云开发者社区-腾讯云
Linux如何在Bash中将标准错误stderr重定向到stdout标准输出 - 腾讯云开发者社区-腾讯云
3命令实际是alias 原因一些命令可能为了方便做了一些alias。虽然在SSH会话上执行是可以的但通过paramiko时就不一定能成功了。如果使用下面这样的方法执行后就会报错command not found。
ssh.exec_command(pod) 先找到别名的原始命令例如
# cat /opt/bin/common/cmds.sh#!/bin/bashalias podkubectl get --all-namespaces pod -o wide 解决方法使用原本的命令即可。
ssh.exec_command(kubectl get --all-namespaces pod -o wide)