首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于powershell中的一个变量在gcc6和gcc8之间切换

如何基于powershell中的一个变量在gcc6和gcc8之间切换
EN

Stack Overflow用户
提问于 2019-05-23 07:21:40
回答 2查看 136关注 0票数 0

我正在尝试基于powershell脚本中的一个变量在gcc-6和gcc-8之间切换。我已经安装了,但我的~/.bashrc文件是空的。

我在script.ps1中有

代码语言:javascript
复制
$gccVersion = 'gcc8'

if ($gccVersion -eq 'gcc6'){
  'source /opt/rh/devtoolset-6/enable'
} else {
  'source /opt/rh/devtoolset-8/enable'
}

然而,这并不起作用。不管我给它什么变量,它都会坚持默认的gcc版本。我遗漏了什么?

根据变量在gcc6和gcc8之间动态切换的最简单方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-05-23 13:44:34

正如上面的注释所述,您已经调用了给定的字符串。我会尝试通过&-operator调用它们,如下所示:

代码语言:javascript
复制
$gccVersion = 'gcc8'

if ($gccVersion -eq 'gcc6'){
  & 'source /opt/rh/devtoolset-6/enable'
} else {
  & 'source /opt/rh/devtoolset-8/enable'
}

# Check the last exit code and execution status
if ((-not $?) -or ($LASTEXITCODE -ne 0)) {
    Write-Error "Command failed"
}

您还应该检查LASTEXITCODEexecution status of last operation

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-05-23 14:04:47

您的if未正确测试该变量。把它写成

代码语言:javascript
复制
if [ "$gccVersion" = gcc6 ]

代码语言:javascript
复制
if test $gccVersion" = gcc6

代码语言:javascript
复制
if [[ $gccVersion == gcc6 ]]
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56266192

复制
相关文章

相似问题

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