首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash -如何运行scl_devtool-9并获得gcc版本的输出

Bash -如何运行scl_devtool-9并获得gcc版本的输出
EN

Unix & Linux用户
提问于 2021-11-30 14:36:39
回答 2查看 730关注 0票数 1

我的bash脚本:

代码语言:javascript
复制
#!/bin/bash

scl enable devtoolset-9 bash
gcc --version

结果:现在系统上启用了devtoolset-9,但是我没有gcc --version输出。gcc 9.x.x安装。在我输入scl enable devtoolset-9 bash时,系统运行devtoolset-9,我可以通过输入gcc --version来验证gcc版本。

如何运行bash脚本并获得gcc --version output

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2021-11-30 15:39:21

scl enable ...命令创建了一个新的shell;如果您一直在测试它,那么您可能已经得到了几个嵌套的shell层。如果您使用exit,您可能会看到来自基本系统的gcc --version输出。看看您对类似于pstree -s $$的东西有多深嵌套。

要使用scl运行gcc --version,只需将命令放在scl行上:

代码语言:javascript
复制
 scl enable devtoolset-9 'gcc --version'

参考资料:红色工具集9用户指南

票数 2
EN

Unix & Linux用户

发布于 2023-05-31 08:22:29

要使脚本按您的意愿运行,需要使用scl命令来修改当前的bash会话,而不是生成新的会话。

你可以这样做

代码语言:javascript
复制
#!/usr/bin/env bash

# switch to GCC9 environment for the duration of the script
source scl_source enable devtoolset-9

gcc --version
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/679652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档