
Tengo el siguiente script bash
if [[$NODE_NAME = "Node1"]]
then
dir="../../test"
fi
que uso en Jenkins ejecuta el indicador de shell.
Me da error diciendo Slave1 command not found
.
Sólo quiero comprobar si la $NODE_NAME
variable es igual al valor "Slave1"
. ¿Cómo hago eso en bash
?
Respuesta1
El [[
operador (y su otra mitad ]]
) es en realidad una palabra clave y, como tal, debe tener un espacio a cada lado. Mientras esté allí, entrecomilla sus variables en caso de que contengan espacios u otra puntuación inesperada:
if [[ "$NODE_NAME" == 'Node1' ]]
then
dir="../../test"
fi
En cuanto a verificar el valor de la variable, simplemente repítalo. Agregue esta línea encima de su if
condición:
echo "NODE: $NODE_NAME"