在声明性管道内的 shell 脚本中传递 Jenkins 参数值时发生错误替换错误
Bad Substitution error while passing Jenkins Parameter value in shell script inside Declarative pipeline
这是我在 Jenkins 声明式管道中传递参数值的代码,但是当我执行时收到此错误
T@tmp/durable-64ccbb6b/script.sh:第 4 行:${params.InputValue}:错误替换
sh '''
#!/bin/bash -xe
printf '%s\n' /dev/sd{e..z} | head -n "${params.InputValue}" > volumelist.txt
cat volumelist.txt
'''
我尝试了几乎所有 google 搜索 Bad substitution。还是摆脱不了。有人可以帮我解决这个问题吗??
看看 Groovy 的 string interpolation。
tl;dr 使用 """
而不是 '''
:
sh """
printf ${params.InputValue}
"""
这是我在 Jenkins 声明式管道中传递参数值的代码,但是当我执行时收到此错误
T@tmp/durable-64ccbb6b/script.sh:第 4 行:${params.InputValue}:错误替换
sh '''
#!/bin/bash -xe
printf '%s\n' /dev/sd{e..z} | head -n "${params.InputValue}" > volumelist.txt
cat volumelist.txt
'''
我尝试了几乎所有 google 搜索 Bad substitution。还是摆脱不了。有人可以帮我解决这个问题吗??
看看 Groovy 的 string interpolation。
tl;dr 使用 """
而不是 '''
:
sh """
printf ${params.InputValue}
"""