我正在尝试基于powershell脚本中的一个变量在gcc-6和gcc-8之间切换。我已经安装了,但我的~/.bashrc文件是空的。
我在script.ps1中有
$gccVersion = 'gcc8'
if ($gccVersion -eq 'gcc6'){
'source /opt/rh/devtoolset-6/enable'
} else {
'source /opt/rh/devtoolset-8/enable'
}然而,这并不起作用。不管我给它什么变量,它都会坚持默认的gcc版本。我遗漏了什么?
根据变量在gcc6和gcc8之间动态切换的最简单方法是什么?
发布于 2019-05-23 13:44:34
正如上面的注释所述,您已经调用了给定的字符串。我会尝试通过&-operator调用它们,如下所示:
$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"
}您还应该检查LASTEXITCODE和execution status of last operation。
希望这能有所帮助。
发布于 2019-05-23 14:04:47
您的if未正确测试该变量。把它写成
if [ "$gccVersion" = gcc6 ]或
if test $gccVersion" = gcc6或
if [[ $gccVersion == gcc6 ]]https://stackoverflow.com/questions/56266192
复制相似问题