powershell - Bamboo 变量不接受空格?
问题描述
我有一个从 Bamboo 触发的 PowerShell 脚本,该脚本基本上接受 3 个字符串参数:
Param([string]$language, [string]$architecture ="x64", [string]$version)
$x64Path = "some path..."
$x86Path = "some path.."
$arguments = $language,$architecture,$version
If($architecture -eq "x64") {
Write-Host "Executing:" $x64Path" at x64 using" $language "and" $version
# & $x64Path $arguments
}
Else {
Write-Host "Executing:" $x86Path "at x86 using" $language "and" $version
# & $x86Path $arguments
}
如果我从 ISE 运行 PowerShell 脚本,例如:
.\MyScript.ps1 "JPN" "x64" "AB 6.0 R"
我会正确地得到这个输出:
Executing: some path... at x64 using JPN and AB 6.0 R
我在 Bamboo 中创建了一个计划,其中包含以下内容:
变量
任务
我尝试将变量(参数)添加为:
"${bamboo.Language}" "${bamboo.Architecture}" ${bamboo.Version}
以及:
"${bamboo.Language}" "${bamboo.Architecture}" "${bamboo.Version}"
但我总是得到相同的输出:
Executing: some path... at x64 using JPN and AB
请注意,最后一个变量已被删除(我没有得到完整的AB 6.0 R)
这是 Bamboo 中的错误,还是我做错了什么?还是有解决方法?
解决方案
我怀疑在竹子中进行变量替换后引号会被剥离(即在参数传递给powershell之前)。
向具有空格的参数添加一组内部单引号:
"${bamboo.Language}" "${bamboo.Architecture}" "'${bamboo.Version}'"
推荐阅读
- git - 与其文件夹大小相比,Gitlab 存储库大小太大
- python - 如何计算两个 N 维 xarray 的 Pearson 相关性?
- java - 如何将 Executor Service 的输出从 java 控制器显示到视图?
- unity3d - 在 Unity 中使用输入字段创建多个按钮
- flutter - 如何在水龙头上隐藏小吃店?
- amazon-s3 - 在 DynamoDB 中自动导入 s3 存储桶数据
- javascript - 将改变的 HTML 表格
- javascript - 如何创建将从多个链接打开随机链接的单个链接
- bundler - 为什么bundle install会添加一个无法执行的自身(bundle)的binstub?
- swift - ASAuthorizationAppleIDButton 内容对齐