linux – 在jenkins管道上运行bash命令

在一个groovy脚本(用于jenkins管道)中:如何运行bash命令而不是sh命令?

我尝试过以下方法:

在sh调用中调用“#!/ bin / bash”:

stage('Setting the variables values') {
    steps {
         sh '''
            #!/bin/bash
            echo "hello world"
         '''
    }
}

用bash调用替换sh调用:

stage('Setting the variables values') {
    steps {
         bash '''
            #!/bin/bash
            echo "hello world"
         '''
    }
}

附加信息:

我的命令比echo hello世界更复杂.

解决方法:

您提供的Groovy脚本将第一行格式化为结果脚本中的空行. shebang告诉脚本使用/ bin / bash而不是/ bin / sh运行,需要位于文件的第一行,否则将被忽略.

所以相反,你应该像这样格式化你的Groovy:

stage('Setting the variables values') {
    steps {
         bash '''#!/bin/bash
                 echo "hello world" 
         '''
    }
}

它将使用/ bin / bash执行.

上一篇:java – 无法在spock中的null对象上调用方法leftshift()


下一篇:Gradle JavaExec Task,如何使用allJvmArgs属性