-
Task
-
Resolution: Fixed
-
Minor
-
None
-
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