matlab - 使用程序调用 screen 时不传输 screen 环境变量

标签 matlab environment-variables gnu-screen

我想使用“screen ”来调用程序(Matlab),但需要一些特定的环境变量。我已经在 .bashrc 中设置了所需的变量

export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libharfbuzz.so

现在,当我启动 screen 时,变量就会被传输。初始化 screen 后:

/data/jasper$ echo $LD_PRELOAD
/usr/lib/x86_64-linux-gnu/libharfbuzz.so

然后当启动Matlab时,它就完美地工作了:

>> getenv('LD_PRELOAD')

ans =

/usr/lib/x86_64-linux-gnu/libharfbuzz.so

现在奇怪的是:当直接在单个 screen 命令中启动 Matlab 时,它不起作用:

screen matlab -nodisplay

来自 Matlab:

>> getenv('LD_PRELOAD')

ans = 

''

出了什么问题以及为什么?

最佳答案

通过反复试验,我从在 .bashrc 中设置环境变量切换到在 .screenrc 中设置(使用 setenv)。这有效。

显然,直接使用 screen 调用程序会绕过 bash,并且 .bashrc 不会被获取。相反,.screenrc 确实得到了处理。仔细想想,这是有道理的。

关于matlab - 使用程序调用 screen 时不传输 screen 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748511/

相关文章:

matlab - MATLAB 中的函数矩阵向量化

python - 如何读取使用cli设置的fabric环境变量

python - 在python中绘制方向字段

matlab - 根据给定的不同方向的线扭曲图像

windows - mvn' 不被识别为内部或外部命令

linux - 更改 GNU-Screen 中的 Ctrl-D 快捷键

linux - 如何在另一个 screen session 中运行程序?

linux - Grep in screen 不将输出保存到日志文件

matlab - Matlab 函数的多个工具提示输入建议

windows - ASP.NET Core忽略ASPNETCORE_ENVIRONMENT变量