【发布时间】:2021-06-28 13:54:56
【问题描述】:
我有一个声明性管道,它应该执行一个用于安装路径的 powershell 步骤。
路径作为参数提供:
parameters {
string(name: 'UNC', defaultValue: '\\\\server01.lab.local\\shared_data', description: 'Shared location to build-data')
}
当我在简单的打印中使用此值时,它按预期工作:
...
powershell('''
write-host "test: "${env:UNC}""
''')
...
所以下一步实际上是安装它。但是,它没有按预期工作:
...
powershell('''
New-PSDrive -Name "k" -PSProvider "FileSystem" -Root "\"${env:UNC}\"\"
''')
...
我在这里遇到的错误是:powershell.exe : New-PSDrive : A positional parameter cannot be found that accepts argument '\\server01.lab.local\shared_data'. New-PSDrive -Name "k" -PSProvider "FileSystem" -Root ""${ ...
这就是我明白引用是问题的时候。有效的 Powershell 命令是:
New-PSDrive -Name "k" -PSProvider "FileSystem" -Root "\\server01.labl.local\shared_data"
那么在转义 UNC 路径中的引号方面,我在这里遗漏了什么?
谢谢
【问题讨论】:
标签: powershell jenkins-pipeline escaping jenkins-groovy