if else bash script

4

Eu tenho o seguinte script bash

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

que eu uso no prompt do shell de execução do Jenkins.

Isso me dá um erro dizendo Slave1 command not found .

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

    
por jake 30.10.2015 / 21:55

1 resposta

6

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

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

Quanto a verificar o valor da variável, apenas faça um eco. Adicione esta linha acima da sua condição if :

echo "NODE: $NODE_NAME"
    
por 30.10.2015 / 21:58

Tags