How do I run a different Shell interpreter in a Pipeline Script?


  • Can I run a ksh script in a pipeline step?
  • Can I run a perl script in a pipeline step?


  • CloudBees Jenkins Enterprise


By default, the system default shell will be run. In a Shell Step, multiple lines are accepted. It is therefore possible to use an interpreter selector such as #!/bin/ksh or #!/usr/bin/perl.

KSH Example:

node {
    sh "#!/bin/ksh \n" +
       "echo \"Hello from \$SHELL\""

Perl Example:

node {
    sh "#!/usr/bin/perl \n" +
       "print \"Hello from \$SHELL\";"

Have more questions?


  • 0
    Blaise Pabon

    I was hoping to find an example with zsh. I'll have to hope that it's the same as ksh.

  • 0
    Grzegorz Zięba

    sh "..." will allocate default shell and then execute script according to shabang

    But there is no way to change shell for 'sh' statement . And that's an issue.

Please sign in to leave a comment.