se mais script bash

se mais script bash

Eu tenho o seguinte script bash

if [[$NODE_NAME = "Node1"]]
then
    dir="../../test"
fi

que eu uso no Jenkins executa o prompt do shell.

Isso me dá um erro ao dizer Slave1 command not found.

Eu só quero verificar se a $NODE_NAMEvariável é igual ao valor "Slave1". Como faço isso em bash?

Responder1

O [[operador (e sua outra metade, ]]) é na verdade uma palavra-chave e, como tal, precisa ter um espaço em cada lado. Enquanto estiver lá, coloque aspas duplas em suas variáveis, caso elas contenham espaços ou outra pontuação inesperada:

if [[ "$NODE_NAME" == 'Node1' ]]
then
    dir="../../test"
fi

Quanto a verificar o valor da variável, basta fazer eco. Adicione esta linha acima da sua ifcondição:

echo "NODE: $NODE_NAME"

informação relacionada