Windows Jenkins 如何在有空格时使用 WORKSPACE 系统参数?

the*_*ter 1 windows jenkins

我在 Windows 7 上使用 Jenkins,但遇到了奇怪的行为。当我尝试将文件复制到工作目录时 - 在 Jenkins 中由系统参数 WORKSPACE 表示,例如在此代码中:

cp -a hpdevops-discovery-demoapp-master/. $WORKSPACE/
Run Code Online (Sandbox Code Playgroud)

我得到以下信息:

  • cp -a hpdevops-discovery-demoapp-master/. 'C:\Program' Files '(x86)\Jenkins\workspace\jenkins-AutomationFreeStyle-Pipeline-2/'

cp: 目标 '(x86)\Jenkins\workspace\jenkins-AutomationFreeStyle-Pipeline-2/' 不是目录

发生了什么:位于此处的工作区:C:\Program' Files '(x86)\Jenkins\workspace\jenkins-AutomationFreeStyle-Pipeline-2/

但是,由于路径中“文件”一词后面的空格,它将其分为 2 并处理第二部分 - 这只是路径的一半,作为目标路径:'(x86)\Jenkins\workspace\jenkins- AutomationFreeStyle-Pipeline-2/'

我曾经在 Linux 上使用 Jenkins,在使用 WORKSPACE 系统参数时从未遇到过这样的问题。有人遇到过这个吗?

yon*_*ong 6

使用双引号将其包裹起来 "$WORKSPACE"

  • 疯了吧。我在某处看到了`%WORKSPACE%`、`${env.WORKSPACE}`、`%env.WORKSPACE%` 和`$WORKSPACE`。更不用说单引号和双引号这件事了。这里发生了什么? (2认同)