-d
является расширением GNU date
,(busybox
иast-open
date
также имеют одно, но работают по-разному ).
AIX поставляется с ksh93
, поэтому нет необходимости в GNU date
, чтобы получить предыдущий рабочий день:
day=2016-01-01
previous_working_day=$(D=$day ksh93 -c '
printf "%(%F)T" "$D, $(($(printf "%(%w)T" "$D") == 1 ? 3 : 1)) day ago"')
Хорошо, было два источника ошибок:
sudoers.d
не был включен в /etc/sudoers
. В большинстве современных систем это значение по умолчанию, поэтому работает простое удаление файла, но были некоторые старые системы, которые изначально были установлены с Debian Lenny и сохранили старый файл sudoers. /etc/init.d/exim4
не существовало. Теперь это тоже ошибка пользователя, но это также очень дрянной отчет об ошибках для sudo. Я понимаю, что сообщение о попытке выполнить некоторые файлы может привести к утечке информации (, однако в конфигурации sudo есть явное правило для этого исполняемого файла, поэтому я не совсем уверен, что это уважительная причина ), но система сообщает об ошибке, если я ввожу правильный пароль.