SSH远程执行命令找不到环境变量

通过SSH执行远程主机的命令或脚本时,会出现找不到自定义环境变量的问题。但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的。两种相似的方法,得到的结果却截然不同,这种现象,根本原因在于这两种方式使用的bash模式不同。
一、先登录再执行,运行的是interactive + login shell模式,Shell首先会加载/etc/profile文件
二、通过SSH直接执行远程命令和脚本会使用Bash的non-interactive + non-login shell模式,profile中的环境变量此时不生效,可以在用户的HOME目录添加环境变量,目录位置如: /home/uesrs/.bashrc
**解决方案:**可以在登录用户的HOME目录的.bashrc中添加需要的环境变量。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值