免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 6108 | 回复: 24
打印 上一主题 下一主题

请教判断日期和read的变量不正确重新输入的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-20 14:05 |只看该作者 |正序浏览
本帖最后由 sxtywyg 于 2012-06-20 14:06 编辑

我的脚本的需求是日期变量date的格式是YYYY-MM-DD HH:MM(请注意,DD和HH之间有空格),如果输入
的日期不符合,就重新通过READ输入.

#!/bin/bash
while :
do
read date
if [[ $date = "[0-9][0-9][0-9][0-9]-[0-1][0-9]-[0-3][0-9]\ [0-23]:[0-59]" ]];  then
echo "YES"
exit 0
else
echo "NO"
break
fi
done

我现在面临两个问题:
1、判断语句,如果只有日期,不加\ [0-23]:[0-59],可以准确判断,如果加了小时:分钟的话,就报错。
2、如果判断可以判断出输入的日期格式不对的话,怎么能使用循环返回原先的read date,重新输入日期。

谢谢

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
25 [报告]
发表于 2012-06-20 18:02 |只看该作者
本帖最后由 惟吾无为 于 2012-06-20 18:02 编辑

刚才看不到回复,发重了。

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
24 [报告]
发表于 2012-06-20 17:54 |只看该作者
某楼说了。
检测部分就自己写吧。

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
23 [报告]
发表于 2012-06-20 17:53 |只看该作者
sxtywyg 发表于 2012-06-20 17:52
回复 21# 惟吾无为

正在实验你的例子,但是有个问题,只能判断年的,不能判断月,日,时,分输入错误的情况,我 ...


我只写了年的。所以回复里说“检测部分就自己写吧。”
让你根据情况判断其他变量的范围。

论坛徽章:
0
22 [报告]
发表于 2012-06-20 17:52 |只看该作者
回复 21# 惟吾无为

正在实验你的例子,但是有个问题,只能判断年的,不能判断月,日,时,分输入错误的情况,我在试.谢谢拉.
   

论坛徽章:
1
巳蛇
日期:2013-10-28 15:55:33
21 [报告]
发表于 2012-06-20 17:49 |只看该作者
回复 6# sxtywyg

把回复看完就那么难?

输入弄简单些好判断,输出的内容还不是你说了算?你有没有看我给的栗子?我的输出和输出是否相同?



   

论坛徽章:
0
20 [报告]
发表于 2012-06-20 17:34 |只看该作者
回复 19# sxtywyg


    那就用正则吧
或者两者结合

论坛徽章:
0
19 [报告]
发表于 2012-06-20 17:21 |只看该作者
回复 18# personball

那如果比如直接输入10,

你的脚本也直接退出了,并没有提示日期输入错误.

那输入的这个10,

[root@test ~]# date -d 10 "+%Y-%m-%d %H:%M"
2012-06-20 10:00

显示就是当天的10点的,比如,我想提取2012-06-16 2:00到2012-06-16 11:00的日志,但是由于手误,输入了10,但是通过了,

得到的结果就不是我想要的,可是我也没有提示使用者输入错误.
   

论坛徽章:
0
18 [报告]
发表于 2012-06-20 17:13 |只看该作者
回复 16# sxtywyg


    这只是演示下date的输出
利用date格式化,只要用-d选项就行啦
  1. personball@vostro:~$date -d "2010/11/22 22:11" "+%Y-%m-%d %H:%M"
  2. 2010-11-22 22:11
复制代码

论坛徽章:
0
17 [报告]
发表于 2012-06-20 17:10 |只看该作者
回复 14# sxtywyg


    不同发行版实现的命令选项是可能不同的。
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP