Обратный отсчет времени даты shell script [закрыто]

У меня есть 3 параметра даты "Sep 30 Mon" (Month,DayNumber,Day), и я хочу сделать shell-скрипт, который показывает количество дней, оставшихся до 30 сентября.

Как мне это сделать?

0
задан 8 February 2019 в 11:21
1 ответ

Я предполагаю, что вы хотите рассчитать количество дней до ближайшего дня, который будет 30 сентября в понедельник, будь то любой год. Этот скрипт работает на меня (вы можете изменить "понедельник" в состоянии на другой день недели, так же как и в другие дни/месяцы. Скрипт определяет, в каком году он находится прямо сейчас и отсчитывает оттуда. Он использует один линк из ссылки на поток переполнения стека под вашим вопросом

YEAR=$(date +%Y)
DAY=$(date -d "30 SEP $YEAR" +%A)

until [[ $DAY == "Monday" ]]
do
YEAR=$(($YEAR+1))
DAY=$(date -d "30 SEP $YEAR" +%A)
done

echo $(expr '(' $(date -d $YEAR/9/30 +%s) - $(date +%s) + 86399 ')' / 86400) " days until deadline"
0
ответ дан 5 December 2019 в 04:14

Теги

Похожие вопросы