metalx1000

bash shift calendar for Christmas

May 20th, 2021
888
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. ######################################################################
  3. #Copyright (C) 2021  Kris Occhipinti
  4. #https://filmsbykris.com
  5.  
  6. #Calculate which shift works on Christmas (based on a 3 day cycle)
  7.  
  8. #This program is free software: you can redistribute it and/or modify
  9. #it under the terms of the GNU General Public License as published by
  10. #the Free Software Foundation, either version 3 of the License, or
  11. #(at your option) any later version.
  12.  
  13. #This program is distributed in the hope that it will be useful,
  14. #but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. #GNU General Public License for more details.
  17.  
  18. #You should have received a copy of the GNU General Public License
  19. #along with this program.  If not, see <http://www.gnu.org/licenses/>.
  20. ######################################################################
  21.  
  22. A="$(date -d 2013-05-01 +%s)"
  23. B="$(date -d 2013-05-02 +%s)"
  24. C="$(date -d 2013-05-03 +%s)"
  25.  
  26. christmas="$(date +%F -d "12/25")"
  27.  
  28. for i in {0..10}
  29. do
  30.   AA=$(( ( `date -d "$christmas" +%s` - $A ) / (24*3600)%3 ))
  31.   BB=$(( ( `date -d "$christmas" +%s` - $B ) / (24*3600)%3 ))
  32.   CC=$(( ( `date -d "$christmas" +%s` - $C ) / (24*3600)%3 ))
  33.  
  34.   [[ "$AA" == 0 ]] && echo "$christmas is A Shift"
  35.   [[ "$BB" == 0 ]] && echo "$christmas is B Shift"
  36.   [[ "$CC" == 0 ]] && echo "$christmas is C Shift"
  37.  
  38.   christmas=$(date -d "$christmas +1 year" +%Y-%m-%d)
  39. done
  40.  
RAW Paste Data