gpt4 book ai didi

linux - 验证用户在 shell 脚本中输入的日期时间格式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:41:13 26 4
gpt4 key购买 nike

我编写 shell,其中将输入日期和时间。

if date `+%d-%b-%y` -d $1 >> /dev/null 2>&1; then
echo "Date Provided by user : $1"
else
echo "Wrong date format please refer ReadMe for correct format"
echo "You have eneterd : $1"
exit 1
fi

if date `+%H:%M` -d $2 >> /dev/null 2>&1; then
echo "Time Provided by user : $2"
else
echo "Wrong Time format please refer ReadMe for correct format"
echo "You have eneterd : $2"
exit 1
fi

它按预期工作正常,但问题是它在 nohup.out 中打印在下面

./ntwk_resource_rollback.sh[31]: +%d-%b-%y: not found [No such file or directory]
Date Provided by user : 07-feb-17
./ntwk_resource_rollback.sh[39]: +%H:%M: not found [No such file or directory]
Time Provided by user : 03:36

所以我想删除它显示的没有从 nohup.out 中找到目录的错误,因为客户端可以读取此 nohup.out 以进行调试。

我可以为此脚本使用 KSH 或 BASH。

请告知我在这里做错了什么!

最佳答案

当你使用反引号时,比如在 +%d-%b-%y 中,shell 会尝试执行一个名为 +%d-%b-%y 的程序code>,然后将其作为参数传递给 date。当然失败了,因为没有这样的程序。

关于linux - 验证用户在 shell 脚本中输入的日期时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42594429/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com