Poi*_*ien 1 matlab csh setenv ubuntu-14.04
我正在尝试依赖于 MCR 的 matlab 脚本。我有包装脚本,可以在执行实际程序之前为此 MCR 目录设置环境变量。包装器如下。
#!/bin/csh
set thisdir = `pwd`
# --- SET UP ENVIRONMENT VARIABLES ---
echo --- setting up environment variables ---
# presumed location of MATLAB Component Runtime (MCR) v7.14
# if the MCR is in a different location, edit the line below
set mcr_root = /home/foo/MATLAB_Component_Runtime
echo $mcr_root
setenv LD_LIBRARY_PATH $mcr_root/v81/runtime/glnxa64:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/os/glnxa64:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64/server:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64:$LD_LIBRARY_PATH
setenv XAPPLRESDIR $mcr_root/v81/X11/app-defaults
# (these may be set permanently by copying the above lines into your login script)
Run Code Online (Sandbox Code Playgroud)
现在,当我运行此脚本时,出现./run_script此错误 -
LD_LIBRARY_PATH: Undefined variable.
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索了很多,发现了一些相关的问题,但没有一个足够有用。
任何帮助表示赞赏。
LD_LIBRARY_PATH在您运行脚本之前,这种情况可能不存在。脚本中设置的第一行LD_LIBRARY_PATH尝试附加现有路径——但尚未定义变量。
如果您将脚本中的行更改为
setenv LD_LIBRARY_PATH $mcr_root/v81/runtime/glnxa64
Run Code Online (Sandbox Code Playgroud)
那么它会像你期望的那样工作。