在 Mac OS X 10.8.2 上运行
我正在通过 SSH 运行 perl 脚本,在 perl 脚本中我使用 $ENV{MY_VAR_NAME} 查询环境变量,并且在本地运行时工作正常。但是通过 SSH,所有环境变量都变得未设置。
我也试着跑
system("source ~/.bash_profile");
在我的脚本开头无济于事。
有小费吗?
编辑:
改写我的问题。
我有机器 A 和 B。我在机器 B 上运行我的 perl,试图在 B 上获取环境变量并且它工作。然后我从 A SSH 到 B 运行相同的脚本,即使用此代码
ssh user@B perl myscript.pl
这次B上的环境变量都是空白的。
有小费吗?
更新:
我发现运行上面的脚本,机器B上的~/.bashrc被调用了,但是在~/.bashrc中设置了环境变量后,再次运行上面的命令,还是没有看到任何环境变量。
另外,如果我的 perl 脚本只包含
echo $ENV{PATH}
然后我得到
/usr/bin:/bin:/usr/sbin:/sbin