如何将此 bashrc 代码转换为 suse 11 命令

如何将此 bashrc 代码转换为 suse 11 命令

我正在尝试将 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

您显示的命令特定于cshtcshshell,而不是特定于任何 Linux 发行版。

这些命令设置两个环境变量,在标准 POSIX shshell 中,例如bashzsh以及 ,例如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 派生系统)编写cshtcsh。现在您可以在任何 Unix 上使用这些 shell,但如果您想将命令转换为可在任何现代 POSIX 兼容 shell 中使用,那么我上面给出的命令是您最有可能想要使用的命令。

相关内容