Isso ocorre porque case
não usa o regex, mas sim o Pathname Expansion . Você pode aprender mais sobre man page ou sobre Bash Manual de Referência .
Eu estou tendo dificuldade em fazer com que as correspondências regex funcionem em uma declaração de caso.
Exemplo de código:
#!/bin/bash
str=' word1 word2'
echo "With grep:"
echo "$str" |grep '^\s*\<word1\>'
echo "With case:"
case "$str" in
'^\s*\<word1\>') echo "$str" ;;
esac
O exemplo funciona com o grep, mas não com o caso ... Estou confuso, porque algumas expressões regulares mais simples funcionam com maiúsculas e minúsculas. O caso usa uma sintaxe diferente para regex? Eu não estou apenas escapando das coisas corretamente?
Isso ocorre porque case
não usa o regex, mas sim o Pathname Expansion . Você pode aprender mais sobre man page ou sobre Bash Manual de Referência .
Tags bash case regular-expression