Я хочу использовать переменную, которую я использую внутри своего сценария Jenkinsfile
, а затем передать его значение в выполнение сценария оболочки (либо как переменная среды, либо параметр командной строки).Как передать переменные из Jenkinsfile в команду оболочки
Но следующий Jenkinsfile
:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh 'echo "from shell i=$i"'
}
дает выход:
a
from shell i=
b
from shell i=
c
from shell i=
Желаемая выход является чем-то вроде:
a
from shell i=a
b
from shell i=b
c
from shell i=c
Любая идея, как передать значение i
в скот?
Edit: На основе Matt's ответа, я теперь использовать это решение:
for (i in [ 'a', 'b', 'c' ]) {
echo i
sh "i=${i}; " + 'echo "from shell i=$i"'
}
Преимущество заключается в том, что мне не нужно, чтобы избежать "
в сценарии оболочки.
я не могу проверить, но и пытаются окружить вар как этот $ {I} – chenchuk
Оба не будут работать. При проверке сильного синтаксиса различие между '' 'и' '' ''- это только строковая строка в сравнении с многострочной строкой. – Joe
Я верю, что 'sh '" "' будет работать, т. Е. Тройные двойные кавычки вместо тройных одиночных кавычек –