在 Centos 7 上为 zsh 启用 devtoolset-8

Enable devtoolset-8 for zsh on Centos 7

我运行 Centos 7,我安装了devtoolset-8以获得gcc 8。 我找到了如何为 bash 启用它,只需添加

source scl_source enable devtoolset-8

.bashrc

如果我将此附加到 .zshrc 或 运行 来自 zsh 的命令,我会得到

/usr/bin/scl_source:58: = not found

似乎 scl-utils 中没有 zsh 支持(参见 this discussion)。

有没有办法为 zsh 启用 devtoolset-8

目前,我将 gnome 终端模拟器设置为 运行 zsh 而不是 shell (bash),所以我认为 [= 的正确版本25=] 会被 zsh 继承,但事实并非如此。 当我打开终端时,% gcc --version(在 zsh 中)给出

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
...

但如果我先 运行 bash,然后 $ gcc --version 给出预期的结果,

gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
...

显然,当我拥有 运行 zsh 而不是 bash shell 时,我不明白 gnome-terminal 实际上在做什么。 我哪里不明白?

我找到的解决方法是将 gnome-terminal 设置为 运行

bash -c "$HOME/.bashrc; exec zsh"

作为替代默认 shell 的自定义命令,相当于使用

打开终端模拟器
gnome-terminal -- bash -c "$HOME/.bashrc; exec zsh"

改编自here