1. ホーム
  2. linux

jenkinsパイプラインでbashコマンドを実行する

2023-10-07 12:39:07

質問

groovyスクリプトの中(jenkinsパイプラインのため)。どのようにすれば bash コマンドの代わりに sh コマンドの代わりに?

以下を試しました。

"を呼び出す。 #!/bin/bash の内部で sh の呼び出しの中にあります。

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 .

どのように解決するのですか?

提供された Groovy スクリプトは、結果のスクリプトで最初の行を空白行としてフォーマットしています。スクリプトを /bin/sh ではなく /bin/bash で実行するように指示する shebang は、ファイルの最初の行にある必要があり、さもなければ無視されます。

ですから、代わりにGroovyをこのようにフォーマットする必要があります。

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

そして、/bin/bashで実行されます。