如何禁用devtoolset-8



我有一个bash脚本,它执行命令

scl enable devtoolset-8 'echo -e "%__ld $(which ld)n%__nm $(which nm)n%__objcopy $(which objcopy)n%__objdump $(which objdump)n%__strip $(which strip)"'

组装完成后,我需要";关闭";gcc-8.

我怎么能用bash的方式来做这件事?

您不需要转动任何东西"关闭";在上面的命令之后,它所做的就是打印主要devtoolset可执行文件的路径,例如

%__ld /opt/rh/devtoolset-8/root/usr/bin/ld
%__nm /opt/rh/devtoolset-8/root/usr/bin/nm
%__objcopy /opt/rh/devtoolset-8/root/usr/bin/objcopy
%__objdump /opt/rh/devtoolset-8/root/usr/bin/objdump
%__strip /opt/rh/devtoolset-8/root/usr/bin/strip

当你运行一个最常用的scl enable devtoolset-8 bash命令时,它会调用一个新的bash实例,在那里你的$PATH环境变量中有一个额外的路径,使所有的开发工具现在都从新的位置运行:

[user@hostname ~]$ echo $PATH
/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[user@hostname ~]$ scl enable devtoolset-8 bash
[user@hostname ~]$ echo $PATH
/opt/rh/devtoolset-8/root/usr/bin:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[user@hostname ~]$

你所需要的一切;关闭";devtoolset要退出这个bash实例:

[user@hostname ~]$ exit
exit
[user@hostname ~]$ echo $PATH
/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
[user@hostname ~]$

最新更新