-
Type:
Task
-
Resolution: Fixed
-
Priority:
Minor
-
Component/s: _unsorted
-
None
-
Environment:Jenkins 2.289.1
Hi!
I am trying to pass a variable in a loop to the shell script
Â
pipeline {
agent any Â
stages {Â Â
stage('Test') {Â Â
steps {Â Â Â Â Â Â Â Â
script {
          elements = ['1', '2', '3', '4']
            for (String val in elements){
              echo val
              check = sh (script: """bash ./check_access/check.sh ${val}""", returnStdout: true).trim()             Â
echo "check: ${check}"Â Â Â Â Â Â Â Â Â Â Â Â Â Â
}
         }
      }
    }
    }
}
—
Â
check.sh
#!/bin/sh
echo "val: $val"
this is what i get
18:13:30 1 [Pipeline] sh 18:13:31 + bash ./check_access/check.sh 1 [Pipeline] echo 18:13:31 check: val: [Pipeline] echo 18:13:31 2 [Pipeline] sh 18:13:31 + bash ./check_access/check.sh 2 [Pipeline] echo 18:13:31 check: val: [Pipeline] echo 18:13:31 3 [Pipeline] sh 18:13:31 + bash ./check_access/check.sh 3 [Pipeline] echo 18:13:31 check: val: [Pipeline] echo 18:13:31 4 [Pipeline] sh 18:13:32 + bash ./check_access/check.sh 4 [Pipeline] echo 18:13:32 check: val: [Pipeline] echo 18:13:32 5 [Pipeline] sh 18:13:32 + bash ./check_access/check.sh 5 [Pipeline] echo 18:13:32 check: val:
desired result
bash ./check_access/check.sh 1 check: val: 1 bash ./check_access/check.sh 2 check: val: 2 bash ./check_access/check.sh 4 check: val: 3 bash ./check_access/check.sh 4 check: val: 4 bash ./check_access/check.sh 5 check: val: 5
Could you please help
Â