Die Variable BUILDNUMBER
ist auf den Wert 230 eingestellt. Ich erwarte, 230_
dass der Befehl ausgedruckt wird echo $BUILDNUMBER_
, aber die Ausgabe ist leer, wie unten gezeigt.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
Antwort1
Der Befehl echo $BUILDNUMBER_
druckt den Wert einer Variablen $BUILDNUMBER_
, die nicht festgelegt ist (der Unterstrich ist ein gültiges Zeichen für einen Variablennamen, wie Jeff Schaller ausdrücklich anmerkt).
Sie müssen lediglich Klammern (geschwungene Klammern) um den Variablennamen setzen oder das starrste printf
Tool verwenden:
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
PS: Setzen Sie Ihre Variablen immer in Anführungszeichen.
Antwort2
Wie George Vassiliou bereitserklärt$BUILDNUMBER_
, das liegt daran, dass Sie die Variable statt drucken $BUILDNUMBER
. Der beste Weg, um das gewünschte Ergebnis zu erzielen, ist die Verwendung von , ${BUILDNUMBER}_
wie George es erklärt hat. Hier sind einige weitere Optionen:
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_