No Shell, ponto na string causa a operação -eq falha com erro: erro de sintaxe: operando esperado (token de erro é “\ .test”)

0

Isso funciona bem:

if [[ "test" -eq "test" ]]
then
    echo "test compare"
fi

Mas falha se eu adicionar um ponto

if [[ ".test" -eq ".test" ]]
then
    echo "test compare"
fi

erro de sintaxe: operando esperado (token de erro é ".test")

    
por DeepNightTwo 06.01.2016 / 08:28

1 resposta

3

O operador -eq é usado para comparar inteiros , sem strings.

Você precisa usar = ou == para comparar as strings corretamente:

if [[ '.test' = '.test' ]]
then
    echo "test compare"
fi
    
por 06.01.2016 / 08:59

Tags