我有以下代码片段从 jenkins 服务器 jnlp 配置文件中提取值。它在终端中开箱即用,但不能作为一个单元使用。我想要一个单位,这样我就可以将值放在某个地方并将其用作环境变量。但是我不断收到转义序列错误。我发现这表明我只需要担心引号和斜杠,但我得到了相同的结果。这是ExecStart
包含 sed 的文件:
ExecStart=/bin/sh -c 'curl -L -s -X GET http://10.x.x.x:8080/computer/name-of-executor/slave-agent.jnlp | sed \"s/.*<application-desc main-class=\"hudson.remoting.jnlp.Main\"><argument>\([a-z0-9]*\).*/\1/\" >> /etc/build_environment'
我尝试了许多转义字符的组合都无济于事。此外,我使用相同的模式从元数据中提取值(使用 curl、管道等)并且效果很好。绝对对这里发生的事情感到困惑