一尘不染

在jenkins管道上运行bash命令

linux

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

我尝试了以下方法:

在通话中致电“ #!/bin/bashsh

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

sh呼叫替换为bash呼叫:

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

附加信息:

我的命令比命令更复杂echo hello world


阅读 225

收藏
2020-06-07

共1个答案

一尘不染

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

因此,您应该这样设置Groovy的格式:

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

它将使用/ bin / bash执行。

2020-06-07