[[ "$DEBUG" =~ [^(?i)(y|yes|t|true|on|1)$] ]]; then
echo "True"
elif [[ "$DEBUG" =~ [^(?i)(n|no|f|false|off|0)$] ]]; then
echo "False"
else
echo "Some error."
exit 1
fi
Запускаю, получаю суперстранный результат:
% DEBUG=True sh some_script.sh
True
% DEBUG=False sh some_script.sh
True
% DEBUG=test sh some_script.sh
True
По регексу эти выражения валидны, т.е. трабл где-то в конструкции, не могу понять где
убери одинарные квадратные скобки вокрг регекспа
Теперь выражение входит только в else
в else сделай так же
мде … про case ты конечно-же не слышал …
Обсуждают сегодня