Как проверить, находится ли введенное число от 1 до 31 - PullRequest
1 голос
/ 13 января 2011

Я пытаюсь захватить день месяца у пользователя и хочу проверить, является ли этот день действительным - от 1 до 31. Я не хочу, чтобы пользователю приходилось добавлять ведущие числа от 0 до однозначных дней. Как выполнить эту проверку в операторе bash if?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 13 января 2011

Это не работа для регулярного выражения!

Это задание для условного выражения .

Вот код, с которого можно начать.

if [[ $number -lt 31 ]]; then 
    echo $number is less than 31
else 
    echo $number is greater than 31
fi

Конечно, проверка даты гораздо сложнее, чем эта. Сколько дней в феврале?

2 голосов
/ 13 января 2011

Просто сделайте числовое сравнение:

if (( var >= 1 && var <= 31))
then
    echo "Valid"
fi
2 голосов
/ 13 января 2011

Используйте правильный инструмент для работы. Regex не подходит для этой работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...