Dlaczego poniższy skrypt bash wyświetla tylko variable worked
?Dlaczego w testach basha nie można używać ciągów literowych?
#! /bin/bash
foo=baaz
regex='ba{2}z'
if [[ $foo =~ 'ba{2}z' ]]; then
echo "literal worked"
fi
if [[ $foo =~ $regex ]]; then
echo "variable worked"
fi
Czy jest coś w dokumentacji bash, który stwierdza, operator =~
działa tylko ze zmiennych, a nie literałów? Czy to ograniczenie ma zastosowanie do innych operatorów?
W przypadku jest to istotne, biegnę 'GNU bash, wersja 4.2.8 (1) -release (x86_64-pc-linux-gnu)' na Natty Narwal. – splicer