英特尔 OneAPI setvarsh.sh 未永久设置 (Ubuntu)

Intel OneAPI setvarsh.sh not set pernamently (Ubuntu)

我正在努力使用 intel OneAPI,特别是编译器 (DPC++/C++) 和 Vtune Profiler。

我已经成功安装了所有东西,在安装目录中使用了 source setvarsh.sh 并且在我关闭 shell.

之前一切正常

设置环境变量后,它们似乎只存在于活动的终端会话中,不会永久留在我身边。使用 source setvars.sh 后,我可以直接使用 icxvtune-gui 命令。开始新会话后,我只收到 command not found 错误。

脚本有问题还是我应该使用特定的开关或其他东西?

系统信息:
系统:Ubuntu 22.04。 LTS 64 位
GNOME 版本:42.0
Shell: Zsh
Vtune 分析器:2022.1.0.98
英特尔编译器:2022.0.2.84

现在我已经通过使用一个命令在 .zshrc 到 运行 setvars.sh 脚本中添加一个别名部分解决了这个问题,但这似乎是一个非常不优雅的解决方案.我会很感激任何提示。谢谢!

这是预期的行为,source 只能影响当前环境。 There is no "nice" way to set the environment variables permanently from a script, you need to edit your config files.

您可以做的是在开始新的 zsh 会话时自动设置环境。这可以通过将 source /opt/intel/oneapi/setvars.sh 添加到您的 .zshrc.

来完成