Linux 如何基于powershell中的变量在gcc6和gcc8之间切换
我试图根据powershell脚本中的变量在gcc-6和gcc-8之间切换。我已经安装了两个,并且我的~/.bashrc文件为空 我在script.ps1中有一个 然而,这不起作用。不管我给它什么变量,它都坚持默认的gcc版本。我错过了什么Linux 如何基于powershell中的变量在gcc6和gcc8之间切换,linux,bash,powershell,Linux,Bash,Powershell,我试图根据powershell脚本中的变量在gcc-6和gcc-8之间切换。我已经安装了两个,并且我的~/.bashrc文件为空 我在script.ps1中有一个 然而,这不起作用。不管我给它什么变量,它都坚持默认的gcc版本。我错过了什么 基于变量在gcc6和gcc8之间动态切换的最简单方法是什么?如上所述,您已经调用了给定的字符串。我会尝试通过&-运算符调用它们,如下所示: $gccVersion = 'gcc8' if ($gccVersion -eq 'gcc6'){ &
基于变量在gcc6和gcc8之间动态切换的最简单方法是什么?如上所述,您已经调用了给定的字符串。我会尝试通过&-运算符调用它们,如下所示:
$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"
}
您还应该检查和
希望有帮助。如果您的if没有正确测试变量。把它写成
if [ "$gccVersion" = gcc6 ]
或
或
谢谢你的帮助。当我尝试运行上述命令时,会出现错误:术语“source/opt/rh/devtoolset-6/enable”未被识别为cmdlet、函数、脚本文件或可操作程序的名称。可能是因为我在powershell中编写了这篇文章,而它正试图通过。-运算符在powershell中运行sourceIn您的源文件。但我不确定如果您试图源代码(例如bash脚本)会发生什么。
if [ "$gccVersion" = gcc6 ]
if test $gccVersion" = gcc6
if [[ $gccVersion == gcc6 ]]