首页 > 代码库 > 解决ssh登录后全局环境变量获取不到的问题
解决ssh登录后全局环境变量获取不到的问题
1.已添加了linux系统环境变量变量于/etc/profile
vi /etc/profile
export JAVA_HOME=/opt/java/jdk1.6.0_43
export JRE_HOME=/opt/java/jdk1.6.0_43
export PATH=$PATH:$JAVA_HOME/bin
2.putty登录到机器执行set命令可以看到该环境变量,java命令也是可以找到的
3.但是通过python直接ssh访问该机器,或者Jenkins ssh remote访问该机器,结果是找不到java命令的。
python ssh到机器后执行set命令可以看到是没有java相关的环境变量的
造成此问题的原因可能是 :
python或Jenkins登录ssh客户端的shell 是csh 、tcsh 、zsh ,不会读取/etc/profile,而目标机器的shell是bash
解决此问题的方式很简单加入bash -lc命令即可
如ssh.exec_command("bash -lc ‘java -version‘")
解决ssh登录后全局环境变量获取不到的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。