我在rhel 6.9安装上使用devtoolset-2,所以我可以使用devtoolset-2提供的gcc 4.8版本。在先前的rhel 6.2安装(在VM上)我能够通过在/etc/profile.d/中添加脚本devtoolset-2的启用脚本来启用devtoolset-2的gcc:
$ cat /etc/profile.d/devtoolset2.sh
#!/bin/bash
source scl_source enable devtoolset-2
这很好用,让我可以访问我打开的任何终端窗口的gcc 4.8。
现在,在这个新的6.9安装(在真实硬件上)我已经在同一个位置尝试了相同的脚本,但它从不来源。新的终端窗口始终默认为系统的gcc 4.4。但是,我可以手动获取启用脚本,它确实有效:
$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18)
$ source scl_source enable devtoolset-2
$ gcc --version
gcc (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)
谷歌搜索后,我尝试使用几个不同的命令来获取脚本:
. /opt/rh/devtoolset-2/enable
source /opt/rh/devtoolset-2/enable
... etc.
我希望此设置适用于所有用户的终端,但为了完成,我尝试从我的.bashrc和.bash_profile脚本中获取它,但对我的用户都没有。
我注意到的最后一件事是,如果我以root用户身份登录,而不是普通用户,则/etc/profile.d/中的脚本确实可以使用devtoolset-2。
为什么它会自动为root用户而不是任何其他用户提供任何想法?