Попробуйте это,
last_day=20190426
date -d "$last_day +$( if [ `date -d $last_day +%w` == 5 ]; then echo 3; elif [ `date -d $last_day +%w` == 6 ]; then echo 2; else echo 1; fi ) days" +"%Y%m%d"
Ввод может относиться к любому дню. так
На самом деле, в процессе ввода вопроса я нашел эту команду , которая вдохновила меня достаточно, чтобы найти решение. Поскольку это может помочь другим в такой же ситуации, и поскольку я не смог найти повторяющийся вопрос на этом сайте SE или других, я делюсь им ниже:
echo "Git pull log message" |tee -a "$mylogfile" |xargs -I% notify-send "%"
Идея состоит в том, чтобы инвертировать порядок команд. Вместо того, чтобы начинать с notify-send
, я начинаю с echo
и tee
, чтобы сначала записать в файл журнала, потому что таким образом tee
также отправляет сообщение на стандартный вывод. Таким образом, у меня есть что передать notify-send
. Использование xargs
позволяет избежать ошибки «Сводка не указана».
Направить вывод git pull
в notify-send
без записи файла журнала:
git pull | xargs -I{} notify-send {}