我正在尝试将 MATLAB 与 SUSE Linux 11 中的 Cadence Virtuoso(一种电气工程软件)链接起来,我有一份 PDF 手册作为指导。我的问题是手册中给出的命令与Linux SUSE不兼容。
有谁知道如何将以下命令转换为 SUSE 兼容命令?
setenv LD_LIBRARY_PATH `cds_root spectre`/tools/dfII/lib:`cds_root spectre`/tools/lib:${LD_LIBRARY_PATH}
setenv MATLABPATH `cds_root spectre`/tools/spectre/matlab:${MATLABPATH}
答案1
您显示的命令特定于csh
和tcsh
shell,而不是特定于任何 Linux 发行版。
这些命令设置两个环境变量,在标准 POSIX sh
shell 中,例如bash
、zsh
以及 ,例如yash
,这两个命令将写为
export LD_LIBRARY_PATH="$(cds_root spectre)/tools/dfII/lib:$(cds_root spectre)/tools/lib:$LD_LIBRARY_PATH"
export MATLABPATH="$(cds_root spectre)/tools/spectre/matlab:$MATLABPATH"
你可以通过只执行一次来写得更简洁,cds_root spectre
如下所示:
cds_tools=$(cds_root spectre)/tools
export LD_LIBRARY_PATH="$cds_tools/dfII/lib:$cds_tools/lib:$LD_LIBRARY_PATH"
export MATLABPATH="$cds_tools/spectre/matlab:$MATLABPATH"
unset -v cds_tools
因此,重申一下,这些命令特定于壳(或外壳类型,C壳),而不是操作系统的特定发行版。您正在阅读的指南或手册有点旧,并且是为默认交互式 shell 的系统(可能是 BSD 派生系统)编写csh
的tcsh
。现在您可以在任何 Unix 上使用这些 shell,但如果您想将命令转换为可在任何现代 POSIX 兼容 shell 中使用,那么我上面给出的命令是您最有可能想要使用的命令。