Bài viết này sẽ hướng dẫn các bạn kiểm tra định dạng ngày tháng trong shell script linux sau đó in ra danh sách ngày tháng đã chọn.
Ở đây mình dùng định dạng YYYY-MM-DD
Các bạn sử dụng vim hoặc nano tạo file check_date.sh
nano check_date.sh
Nội dung file như sau:
#!/bin/bash startdate=2018-09-01 enddate=2018-09-40 start=$(date '+%Y-%m-%d' -d $startdate) end=$(date '+%Y-%m-%d' -d $enddate) if [[ $end < $start ]] then echo "check start & end date" elif [ $start != $startdate ] then echo "date format invalid" elif [ $end != $enddate ] then echo "date format invalid" else d= n=-1 until [ "$d" = "$enddate" ] do ((n++)) d=$(date -d "$startdate + $n days" +%Y-%m-%d) echo $d done fi
Trong đó:
Để thực thi shell script trên chúng ta dùng lệnh sau:
chmod u+x check_date.sh
Thực thi tập tin bằng lệnh sau:
sh check_date.sh
Vì enddate (2018-09-40) bị sai nên console log như sau:
[root@localhost]# sh check_date.sh date: invalid date `2018-09-40' check start & end date
Sửa lại enddate đúng định dạng (ví dụ: 2018-09-11) ta sẽ có console log như sau:
[root@localhost]# sh check_date.sh 2018-09-01 2018-09-02 2018-09-03 2018-09-04 2018-09-05 2018-09-06 2018-09-07 2018-09-08 2018-09-09 2018-09-10 2018-09-11
Chúc các bạn thành công.
Xem thêm các bài viết về hệ điều hành Linux
Như các bạn đã biết thì Telegram là một dịch vụ tin nhắn tuyệt vời…
Apache Tomcat là gì? Apache Tomcat là một web server HTTP được phát triển bởi…
20 triệu có lẽ là một mức chi phí khá lý tưởng cho một máy…
Micosoft chính thức phát hành Microsoft Edge Chromium Microsoft đã chính thức tung ra trình…
CentOS 8 đã phát hành ngày 25/09/2019, phiên bản 8 lần này có những thay đổi…
Thời buổi công nghệ phát triển, phần lớn công việc của con người đều có…
Leave a Comment