La variable BUILDNUMBER
se establece en el valor 230. Espero que 230_
se imprima para el comando, echo $BUILDNUMBER_
pero la salida está vacía como se muestra a continuación.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
La variable BUILDNUMBER
se establece en el valor 230. Espero que 230_
se imprima para el comando, echo $BUILDNUMBER_
pero la salida está vacía como se muestra a continuación.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
Respuestas:
El comando echo $BUILDNUMBER_
imprimirá el valor de la variable $BUILDNUMBER_
que no está establecida (el guión bajo es un carácter válido para un nombre de variable como lo señala Jeff Schaller explícitamente)
Solo necesita aplicar llaves (llaves) alrededor del nombre de la variable o usar la printf
herramienta más rígida :
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
PD: Siempre cita tus variables.
Como ya explicó George Vassiliou , es porque está imprimiendo la variable en $BUILDNUMBER_
lugar de $BUILDNUMBER
. La mejor manera de obtener lo que quieres es usar ${BUILDNUMBER}_
como explicó George. Aquí hay algunas opciones más:
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_
$IFS
contiene, por echo $BUILDNUMBER"_"
lo que todavía está mal. De los tres, solo printf '%s_\n' "$BUILDNUMBER"
es correcto si no sabemos qué $BUILDNUMBER
o qué $IFS
.