Непонятное поведение grep
grep -q "x*" <<<"zoo"
echo $?
grep -q "z*" <<<"zoo"
echo $?
Почему обе команды возвращают 0? Ожидается, что в первой возвратится не 0, т.к. zoo не содержит x.
Ответы (1 шт):
Автор решения: Zt.
→ Ссылка
ну так а почему ему и не срабатывать ?
x* - означает что x должен встречатся 0 или больше раз, а в слове zoo буква x встречается 0 раз, значит всё верно.
Возможно вы имели в виду то что обязательно должна присутствовать буква x а после неё 0 или больше символов, тогда это запишется так:
$ grep 'x.*' <<<"zoo";echo $?
1