[英]How to print a Jenkins environment variable inside a sh bash script block
I'm trying to write a Jenkins pipeline file which uses groovy and bash script and I would like to print/use some Jenkins environment variables inside a bash script block.
我想将 sh 脚本块与三重单配额一起使用(以防止需要转义所有美元符号等):
sh '''
code
'''
而不是三倍双配额(在这个脚本块 jenkins 环境变量可以使用足够的转义):
sh """
code
"""
我尝试在三倍双配额块内打印 $WORKSPACE:
script {
sh '''
#!/bin/bash
echo 1 ${WORKSPACE}
echo 2 '${WORKSPACE}'
echo 3 ${workspace}
echo 4 '${workspace}'
echo 5.1 $WORKSPACE
echo 5.2 \$WORKSPACE
echo 5.2.1 \\$WORKSPACE
echo 5.2.2 \\\$WORKSPACE
echo 5.2.3 \\\\$WORKSPACE
echo 5.2.4 \\\"$WORKSPACE\\\"
echo 5.2.5 \\"$WORKSPACE\\"
echo 5.2.6 \"$WORKSPACE\"
echo 5.2.6 "$WORKSPACE"
echo 5.3 '\$WORKSPACE'
echo 5.3.1 \'$WORKSPACE\'
echo 5.3.2 \'${WORKSPACE}\'
echo 5.4 """$WORKSPACE"""
echo 5.5 "$WORKSPACE"
echo 5.5.1 \"$WORKSPACE\"
echo 5.5.2 "\"${WORKSPACE}\""
echo 5.5.3 \\"${WORKSPACE}\\"
echo 5.5.4 \\\"${WORKSPACE}\\\"
echo 5.5.4 \\\"${WORKSPACE}\\\"
echo 5.6 "\$WORKSPACE"
echo 6 '$WORKSPACE'
echo 7 $env.WORKSPACE
echo 8 '$env.WORKSPACE'
echo '$workspace'
'''
}
Output:
14:31:52 1
14:31:52 2 ${WORKSPACE}
14:31:52 3
14:31:52 4 ${workspace}
14:31:52 5.1
14:31:52 5.2
14:31:52 5.2.1 $WORKSPACE
14:31:52 5.2.2 $WORKSPACE
14:31:52 5.2.3 \
14:31:52 5.2.4 ""
14:31:52 5.2.5 ""
14:31:52 5.2.6
14:31:52 5.2.6
14:31:52 5.3 $WORKSPACE
14:31:52 5.3.1 $WORKSPACE
14:31:52 5.3.2 ${WORKSPACE}
14:31:52 5.4
14:31:52 5.5
14:31:52 5.5.1
14:31:52 5.5.2
14:31:52 5.5.3 ""
14:31:52 5.5.4 ""
14:31:52 5.5.4 ""
14:31:52 5.6
14:31:52 6 $WORKSPACE
14:31:52 7 .WORKSPACE
14:31:52 8 $env.WORKSPACE
14:31:52 $workspace
至少其中一些预期为 output:
/home/my_user/jenkins_workspace/workspace/Jenkins_debug_job
尝试
sh """
echo ${env.WORKSPACE)
"""
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.