在Centos 7上为zsh启用devtoolset-8

3

我运行的是Centos 7,为了获取gcc 8,我安装了devtoolset-8

这里我找到了如何在bash中启用它的方法,只需添加以下内容即可:

source scl_source enable devtoolset-8

将这段代码添加到.bashrc文件中。

如果我将这段代码添加到.zshrc文件中,或者在zsh中运行该命令,我会得到以下结果:

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

看起来在 scl-utils 中没有 zsh 支持(参见此讨论)。

有没有一种方法可以为zsh启用devtoolset-8

目前,我将gnome终端仿真器设置为运行zsh而不是shell(bash),所以我认为zsh会继承正确版本的devtools,但事实并非如此。 当我打开终端时,在zsh中键入% gcc --version,结果为

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.
...

显然,当我让gnome-terminal运行zsh而不是bash shell时,我并不理解它实际上在做什么。 我没有理解什么?

2个回答

2
我找到的解决方法是将gnome-terminal设置为运行。
bash -c "$HOME/.bashrc; exec zsh"

作为默认shell的自定义命令,相当于打开一个终端仿真器。
gnome-terminal -- bash -c "$HOME/.bashrc; exec zsh"

以下内容翻译自此处


1

看起来你也可以使用:

source /opt/rh/devtoolset-8/enable

已在 RHEL7.6 上测试 rh-php73 软件包,测试成功:

source /opt/rh/rh-php73/enable

我在这里找到了提示(链接)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接