Rozwiązanie, które zadziałało dla mnie
source ~/.bashrc
Wyjaśnienie
Po raz pierwszy zweryfikowałem, że Jenkins działa w BASH, z echo $SHELL
i echo $BASH
(uwaga, wyraźnie umieszczam #!/bin/bash
na wierzchu obszaru tekstowego w Jenkinsie, nie jestem pewien, czy jest to wymóg uzyskania BASH). source
ing, /etc/profile
jak sugerowali inni, nie działało.
Patrząc na /etc/profile
znalazłem
if [ "$PS1" ]; then
...
a sprawdzenie „$ PS1” wykazało, że jest pusty. Próbowałem podszywać $PS1
się bez skutku
export PS1=1
bash -c 'echo $PATH'
jednak nie przyniosło to pożądanego rezultatu (dodaj resztę tego, $PATH
co spodziewam się zobaczyć). Ale jeśli powiem bashowi, aby był interaktywny
export PS1=1
bash -ci 'echo $PATH'
$PATH
zmieniono tak jak oczekiwano.
Próbowałem wymyślić, jak poprawnie sfałszować interaktywną powłokę, aby się /etc/bash.bashrc
załadować, ale okazało się, że wszystko, czego potrzebowałem, było w dół ~/.bashrc
, więc po prostu source
rozwiązałem problem.
echo $PATH
czy zgadza się to z tym, co widzisz w jenkins?