Qual é a diferença entre "==" e "= ~"?

6

Dada uma string e um hash retornado por openssl , por que usar == não os corresponde corretamente, mas =~ faz?

Pergunta básica: Como posso forçar um script para usar mais recursos?

    
por yzT 13.03.2014 / 11:46

1 resposta

10

O operador binário, "= ~", tem a mesma precedência que "==" e "!=". Quando é usado, a string à direita do operador é considerada uma expressão regular estendida e correspondida de acordo (como em regex3)). O valor de retorno é 0 se a cadeia corresponder ao padrão e 1 caso contrário. Se a expressão regular estiver sintaticamente incorreta, o valor de retorno da expressão condicional é 2.

De: bash

Daí sua comparação para igualdade versus uma correspondência de expressão regular.

    
por 13.03.2014 / 11:57