Problema estranho com o operador OR no zsh

1

Estou vendo um problema estranho com o CentOS 6.4, zsh 4.3.10 (x86_64-redhat-linux-gnu).

Isso está executando duas expressões regulares na mesma string. Nenhuma das expressões passa a condição if, mas quando eu as uno juntas

$ if [[ "foo" =~ "^\s*$" ]]; then; echo "Test"; fi
$ if [[ "foo" =~ "^\.+$" ]]; then; echo "Test"; fi
$ if [[ "foo" =~ "^\.+$" || "foo" =~ "^\s*$" ]]; then; echo "OR test"; fi
OR test

Isso só acontece no CentOS, tanto quanto eu posso dizer, eu recebo o comportamento esperado com zsh 5.0.2 (x86_64-apple-darwin13.0) e zsh 5.0.2 (x86_64-pc-linux-gnu)

    
por Hamy 05.06.2014 / 07:39

1 resposta

1

Por último, deve ser um pouco diferente se for desejado. Experimente:

if [[ "foo" =~ "^\.+$" ]] || [[ "foo" =~ "^\s*$" ]]; then; echo "OR test"; fi
    
por 05.06.2014 / 07:45