繁体   English   中英

如何在 sh bash 脚本块中打印 Jenkins 环境变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM