Получение вчерашней даты в скрипте Unix csh - PullRequest
0 голосов
/ 07 января 2020

В настоящее время у меня есть следующие строки как часть моего скрипта:

#! /bin/csh

set thedate = `date "+%d_%m_%y"`

Это устанавливает дату к сегодняшней дате.

Кто-нибудь знает, что мне нужно добавить, чтобы скрипт был вместо этого выбрать вчерашнюю дату?

Я пытался

date -v "-1d"
date -d "-1 day"

, но я получаю ошибки

date: illegal option -- v
date: illegal option -- d
usage:  date [-u] mmddHHMM[[cc]yy][.SS]
    date [-u] [+format]
    date -a [-]sss[.fff]

Я тогда пытался

set thedate = `date "+%d_%m_%y" --date="1 day ago"`

который, повторяя дату, все еще дает сегодняшнюю дату.

Ответы [ 3 ]

2 голосов
/ 07 января 2020
$(date "+%d_%m_%y" --date="1 day ago")
0 голосов
/ 07 января 2020
#!/bin/sh

thedate=`date "+%d_%m_%y" --date="1 day ago"`

echo "${thedate}"

Работает нормально для меня. Я не знаю, почему вы используете C -shell. У меня нет цели C в моей цели. использовать оболочку (/ bin / sh) или bash (/ bin / bash)

0 голосов
/ 07 января 2020
date -d "-1 days" +"%a %d/%m/%Y"

-d "-1 days" обеспечивает вычисление даты вчерашнего дня.

+"%a %d/%m/%Y" заботится о формате вывода (имя, день, месяц, год).

...