Я не могу это объяснить, но проверьте следующее:Почему это регулярное выражение соответствует почти всему?
name=$1
pat="\b[0-9a-zA-Z_]+\b"
if [[ $name =~ $pat ]]; then
echo "$name is ok as user name"
else
echo "$name is not ok as user name"
exit 1
fi
Тестовый прогон:
./script test_user+
test_user+ is ok as user name
Имя пользователя, с + знак не должно совпадать с регулярным выражением.
Почему так много downvotes по этому вопросу? – anubhava
btw [ваш скрипт отлично работает] (http://ideone.com/nzagNv) ** без каких-либо изменений ** – anubhava
Мне любопытно также количество downvotes. Это хороший вопрос. – jkdba