我正在尝试从用户捕获当月的日期并想要检查日期是否有效 - 介于1和31之间。我不希望用户必须添加前导0到单个数字天。如何在bash if语句中完成此检查?
感谢。
答案 0 :(得分:5)
这不是正则表达式的工作!
这是conditional expression的作业。
以下是一些可以帮助您入门的代码。
if [[ $number -lt 31 ]]; then
echo $number is less than 31
else
echo $number is greater than 31
fi
当然,日期验证远比这复杂得多。二月有几天?
答案 1 :(得分:2)
使用正确的工具完成工作。正则表达式不适合这项工作。
答案 2 :(得分:2)
只需进行数字比较:
if (( var >= 1 && var <= 31))
then
echo "Valid"
fi