Может кто-нибудь объяснить, почему следующий код bash будет повторять "выбор был числом!"когда я набираю, например, «1» в приглашении на чтение:
read choice
re='^[0-9]+$'
if [[ $choice =~ $re ]]; then
echo "choice was a number!"
else
echo "choice was NOT a number!"
fi
... но тот же код без промежуточной переменной $re
выдает «выбор не был числом!»:
read choice
if [[ $choice =~ '^[0-9]+$' ]]; then
echo "choice was a number!"
else
echo "choice was NOT a number!"
fi
?