【问题标题】:Bash script. Limit user inputbash 脚本。限制用户输入
【发布时间】:2016-11-18 07:29:58
【问题描述】:

我可以通过使用来限制月份和年份

while :
    do
    if (( 0 <  userAccPDM && userAccPDM <= 12 )); then
            accPDM=$userAccPDM && break
    else
            echo "Try again!" && read -p "Month: " userAccPDM
    fi
done

while :
    do
    curYr=$(date +"%Y")
    if (( userAccPDY <= curYr )); then
            accPDY=$userAccPDY && break
    else
            echo "Try again!" && read -p "Year: " userAccPDY
    fi
done

这意味着用户不能在 Months 中输入 013,在 Year 中输入大于当前年份。

我想知道如何在 Day 中做到这一点,例如用户在 Year22015 /strong> ,即二月,只有28天。如果用户在 Day 中输入 29,则输入无效。我希望你们能明白我的意思,并对这篇长篇文章感到抱歉。

【问题讨论】:

    标签: linux bash shell centos7


    【解决方案1】:

    您可以使用date 来检查日期是否有效。

    date "+%d/%m/%Y" -d "dd/mm/yyyy" > /dev/null 2>&1
    ret=$?
    

    如果ret 不是 0,则日期有效

    【讨论】:

    • 我会试试这个并报告它是否符合我的要求。谢谢!
    • 非常感谢,我会用这个的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2013-01-18
    • 2021-12-24
    • 2019-11-02
    • 1970-01-01
    • 2016-08-16
    相关资源
    最近更新 更多