Environment-Variables

如何將此 bashrc 程式碼翻譯為 suse 11 個命令

  • December 24, 2021

我正在嘗試將 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}

您顯示的命令特定於cshand tcshshell,而不是特定於任何 Linux 發行版。

這些命令設置了兩個環境變數,並且在標準的 POSIX shshell 中,例如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

因此,重申一下,這些命令特定於shell(或 shell 類型,即 C-shells),而不是特定於作業系統的發行版。csh您正在閱讀的指南或手冊有點舊,並且是針對tcsh預設互動式 shell 的系統(可能是 BSD 派生系統)編寫的。您現在可以在任何 Unix 上使用這些 shell,但是如果您想將命令轉換為可在任何現代 POSIX 兼容的 shell 中使用,那麼我上面給出的命令是您最可能想要使用的命令。

引用自:https://unix.stackexchange.com/questions/683803