Назад | Перейти на главную страницу

Скрипт Linux для Solaris

Hellooo! У меня есть следующее предложение, которое работает в Linux, но не в версии Solaris.

YEAR=2019
echo $(expr '(' $(date -d $YEAR/9/30 +%s) - $(date +%s) + 86399 ')' / 86400) " days until deadline" the error is due to the date

Появляется ошибка:

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

Любые идеи?

большое спасибо

Функция, которую вы пытаетесь использовать, включена в GNU date (по умолчанию в Linux), но не в Solaris date.

Вы можете установить дату GNU на Solaris из различных сторонних репозиториев, таких как OpenCSW (бесплатно) или UNIXPackages ($).

Я давно не использовал Solaris. Последней версией, которую я использовал, была Solaris 10.
Ответ: Solaris не позволяет выполнять «математику дат». Не нравится -d вариант.

man date должен показать вам это. Может быть другой вариант вместо -d, не помню. Может, преобразовать все в секунды?

Чего именно вы пытаетесь достичь?