Zmienna BUILDNUMBER
jest ustawiona na wartość 230. Spodziewam 230_
się, że zostanie wydrukowana dla polecenia, echo $BUILDNUMBER_
ale wynik jest pusty, jak pokazano poniżej.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
bash
shell-script
variable-substitution
Talespin_Kit
źródło
źródło
Jak już wyjaśnił George Vassiliou , to dlatego, że wypisujesz zmienną
$BUILDNUMBER_
zamiast$BUILDNUMBER
. Najlepszym sposobem na zdobycie tego, czego chcesz, jest skorzystanie z${BUILDNUMBER}_
wyjaśnień George'a. Oto kilka innych opcji:źródło
$IFS
zawiera, więcecho $BUILDNUMBER"_"
nadal jest źle. Z tych trzechprintf '%s_\n' "$BUILDNUMBER"
jest poprawne tylko wtedy, gdy nie wiemy co$BUILDNUMBER
lub co$IFS
utrzymujemy.