Я что-то писал в BASH, и я нашел странную ошибку. Я развиваюсь на Mac (El Capitan), и все работает безупречно. Но развертывание на сервере Ubuntu 16.06 терпит неудачу, и я понятия не имею, почему.BASH regex check not matching on linux
Мой код следует
while ! [[ ${someVariable} =~ ^[a-zA-z0-9_-]{40}$ ]]
do
read someVariable
if ! [[ ${someVariable} =~ ^[a-zA-z0-9_-]{40}$ ]];then
echo 'try again'
fi
done
для ввода 6LfMYB8TAAAAACRZ9bP-0GN9y4zKUYPtj255-Е8а это терпит неудачу. И сбой происходит только на сервере, а не на машине разработки. У меня такое чувство, что я пропустил что-то очевидное.
Что говорит @James. Но также, возможны разные версии bash ('bash --version')? –
В удаленном ответе упоминается подозрительный диапазон 'A-z'. Убедитесь, что ваш скрипт продолжает сбой, если вы замените его на «A-Z». – chepner
Диапазон был плохим, это была простая опечатка. К счастью для меня было то, что я скопировал все, если. Если бы я набрал его снова здесь, я бы не ошибся – Rouz