2011-06-30 4 views
1

Следующая команда используется для получения yerterdays даты в Unix КШ на HP UXПолучить вчера дата в Unix - КШ сценарий

DATE_STAMP=`TZ=CST+24 date +%m/%d/%Y` 

Может кто-нибудь, дайте мне знать, что делает «CST + 24 дата» в команде выше делать?

+0

Если это одна и та же команда 'date', которая является частью GNU coreutils, вы можете получить дату вчера, используя' date -date = вчера'. –

+0

@Noufal Ibrahim Я не вижу этот вариант на HPUX. – Lobo

+0

Это не часть GNU coreutils, поэтому я не могу использовать эту команду. – UnixQue

ответ

2

Эта команда устанавливает часовой пояс для CST + 24 и возвращает дату в этом часовом поясе.

Если вы ищете команду для выяснения вчерашней даты, вам лучше использовать трюк TZ. если вы находитесь в часовом поясе, который соблюдает DST.

использование perl один вкладыш вместо этого.

#this takes local time and substracts a day(24*60*60 seconds) and formats the time. 
echo `perl -e 'use POSIX; print strftime "%m/%d/%Y%", localtime time-86400;'` 

Только предположение о вашей команде - так как его вчера в CST + 24 часового пояс команды возвращает вчерашнюю дату, и если вы используете CST-24, он retunrs завтрашней даты, поскольку дата переводится Tomorrows даты в CST-24 часовой пояс.

1

VARIABLE=VALUE COMMAND означает, что вы установите переменное окружение VARIABLE в VALUE, но не постоянное, но только для выполнения команды COMMAND.

В вашем примере, что означает: Выполните команду date с переменным окружением TZ набора в CST+24 (который Central Standard Time плюс 24 часов).

-1

Проверьте эту страницу http://www.kodkast.com/blogs/unix-shell-scripting/how-to-get-yesterdays-date, где вы можете узнать вчерашнюю дату, а также любую другую предыдущую дату в сценариях unix shell.

+0

Ваш ответ - это едва ли ссылка на другой сайт, который не подходит для SO. Более того, связанная с вами страница не относится к вопросу. – jlliagre

Смежные вопросы