我有一个小问题 - 解决方法很简单,但我想了解问题存在的原因。我在 .bashrc 中设置了一些环境变量:
export FREESURFER_HOME=/usr/local/freesurfer
Run Code Online (Sandbox Code Playgroud)
在我的startup.m 文件中,我尝试设置变量:
freesurfer_home=getenv('FREESURFER_HOME');
Run Code Online (Sandbox Code Playgroud)
但是,对 getenv 的调用返回一个空字符数组。在 MATLAB 中调用 getenv 会返回一些环境变量(例如 getenv('HOME')),但不会返回其他变量。我可以通过以下行查看哪些环境变量对 MATLAB 可见:
map = java.lang.System.getenv();
Run Code Online (Sandbox Code Playgroud)
我还可以确认缺失值是可见的,至少在外壳内,使用任何
export
env
printenv
Run Code Online (Sandbox Code Playgroud)
对于这种差异有解释吗?