开发者社区> 问答> 正文

ssh执行.sh获取不到环境变量的问题如何解决?

已解决

[root@centos129 ~]# ssh centos131 echo $JAVA_HOME
/usr/java/jdk1.8.0_192
[root@centos129 ~]# ssh centos131 /root/a.sh

[root@centos129 ~]#
a.sh内容就是echo $JAVA_HOME

ssh执行a.sh获取不到$JAVA_HOME,而在centos131上两种方式都可以显示

[root@centos131 ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_192
[root@centos131 ~]# /root/a.sh
/usr/java/jdk1.8.0_192
[root@centos131 ~]#

为什么ssh执行a.sh不行呢?这些情况都是从哪里获取的环境变量?

展开
收起
1780169608831412 2021-10-18 19:42:23 1027 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。
    采纳回答

    您好, 下面这两种情况都是non-interactive + non-login shell,你的环境变量在profile里,所以获取不到 第一种貌似能获取到,其实获取的时129的环境变量

    [root@centos129 ~]# ssh centos131 echo $JAVA_HOME
    /usr/java/jdk1.8.0_192
    [root@centos129 ~]# ssh centos131 /root/a.sh
    
    
    [root@centos129 ~]# JAVA_HOME=aaa
    [root@centos129 ~]# ssh centos131 echo $JAVA_HOME
    aaa
    
    2021-10-18 19:45:04
    赞同 1 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载