- 主题:remote机的环境变量
remote machine已经定义了一个环境变量,如MYPWD
现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
这是怎么回事,如何解决?
(应用场景是local机调用一个remote机的代码,代码依赖一个在remote机上已定义的环境变量,目前这种应用会提示没有这个环境变量,但如果直接在remote机上运行是没有问题的)
--
FROM 210.41.233.*
通过脚本调应用。环境变量放脚本里
【 在 DragonDon 的大作中提到: 】
:
: remote machine已经定义了一个环境变量,如MYPWD
: 现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
: 这是怎么回事,如何解决?
: (应用场景是local机调用一个remote机的代码,代码依赖一个在remote机上已定义的环境变量,目前这种应用会提示没有这个环境变量,但如果直接在remote机上运行是没有问题的)
#发自zSMTH@如有雷同 纯属巧合
--
FROM 223.104.38.*
这种调用也没用:ssh xxx@remot_machine "export MYPWD=1234 echo $MYPWD"
现在是远端代码里使用了os.environ['MYPWD']这种代码(远端已经定义了MYPWD),但在locall端调用时,MYPWD这个环境变量不生效,也无法传过去
【 在 newre 的大作中提到: 】
: 通过脚本调应用。环境变量放脚本里
:
: #发自zSMTH@如有雷同 纯属巧合
--
FROM 210.41.233.*
同样的代码,ssh到本地可以用吗?
--
FROM 125.86.92.*
直接登录remote端,是可以正常运行的;从local ssh到remote后,也是可以正常运行的;
但在本地ssh+运行一体化,就找不到remote的环境变量
【 在 Turningpt 的大作中提到: 】
: 同样的代码,ssh到本地可以用吗?
--
FROM 210.41.233.*
man bash 搜INVOCATION
【 在 DragonDon 的大作中提到: 】
: remote machine已经定义了一个环境变量,如MYPWD
: 现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
: 这是怎么回事,如何解决?
: ...................
--
FROM 139.226.178.*
帮你向Bing问了一下,不过我现在没环境还没试行不行,你有兴趣可以试试。

--
FROM 171.221.52.*
try
ssh xxx@remot_machine "echo \$MYPWD"
or
ssh xxx@remot_machine 'echo $MYPWD'
主要是$转义的问题
【 在 DragonDon 的大作中提到: 】
: remote machine已经定义了一个环境变量,如MYPWD
: 现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD
: 的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
: 这是怎么回事,如何解决?
: ...................
--
FROM 120.229.207.*
ssh remote cmd这种格式默认不分配伪终端,可能连登陆shell也不执行,试试 ssh -T remote cmd
【 在 DragonDon (DragonDon) 的大作中提到: 】
: remote machine已经定义了一个环境变量,如MYPWD
: 现在local machine上执行:ssh xxx@remot_machine "echo $MYPWD",无法获得MYPWD的正确值,尝试ssh xxx@remot_machine "source ~/.bashrc echo $MYPWD"也不起作用;
: 这是怎么回事,如何解决?
: (应用场景是local机调用一个remote机的代码,代码依赖一个在remote机上已定义的环境变量,目前这种应用会提示没有这个环境变量,但如果直接在remote机上运行是没有问题的)
--
FROM 222.64.168.*
算了,看不懂man
【 在 JulyClyde 的大作中提到: 】
: man bash 搜INVOCATION
--
FROM 112.193.113.*