首页 > 解决方案 > 在 Centos 7 上为 zsh 启用 devtoolset-8

问题描述

我运行 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支持(请参阅此讨论)。

有没有办法启用devtoolset-8zsh

目前,我将 gnome 终端仿真器设置为运行zsh而不是 shell ( bash),所以我认为正确的版本devtools会被 继承zsh,但事实并非如此。当我打开终端时,% gcc --version(in 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.
...

gnome-terminal显然,当我运行它zsh而不是bash外壳 时,我不明白实际在做什么。我不明白什么?

标签: centos7zshgnome-terminaldevtoolset

解决方案


我发现的解决方法是设置gnome-terminal为运行

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

作为代替默认shell的自定义命令,相当于打开终端模拟器

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

从这里改编。


推荐阅读