como combinar um espaço em branco em uma variável bash

2

De acordo com a página man, a string à direita de =~ é tratada como uma expressão regular estendida. Eu tentei as seguintes coisas para combinar com um "ok" cercado por espaços em branco em ambos os lados, mas nada está funcionando. Alguma ideia do que estou fazendo errado? Talvez haja uma opção de shell que precisa ser ativada?

if ! [[ $RESULT =~ \s"ok"\s ]]; then

if ! [[ $RESULT =~ [:space:]"ok"[:space:] ]]; then

if ! [[ $RESULT =~ [ \t\r\n\v\f]"ok"[ \t\r\n\v\f] ]]; then

NOTA: pergunta auto respondida abaixo.

    
por Michael Martinez 20.04.2016 / 19:09

1 resposta

4

Ok, acontece que preciso de [[:space:]] em vez de [:space:] . Não faço ideia do porquê, mas os seguintes trabalhos:

if ! [[ $RESULT =~ [[:space:]"ok"[[:space:]] ]]; then
    
por 20.04.2016 / 19:37

Tags