Итак, мне нужно перевести скрипт из хорошей конфигурации linux и bash в ksh в hp-ux. Каждая команда ожидает другой синтаксис, и я хочу убить себя. Но опустим разглагольствования.
Это часть моего сценария
anterior=`date +"%Y%0m" -d '1 month ago'`
В основном мне нужно получить прошлую дату в формате 201002. Не говоря уже о том, что в новой среде% 0m означает «без нулей», а на самом деле в другом это означает «да, пожалуйста, поместите этот ноль в мою строку» . Он даже не принимает «1 месяц назад». Я читал дату человека для HP-UX, и кажется, что вы просто не можете выполнять с ней арифметические операции с датами.
Я искал некоторое время, но все, что я нашел, это длинные решения. Я не совсем понимаю, что такая типичная административная задача, как добавление дат, требует такой суеты. Нет ли способа преобразовать мой однострочник в, ну, я не знаю, другой? Да ладно, я видел предлагаемые решения, которые использовали bc, имели тридцать с лишним строк и магическое число по всему сценарию. Самые простые решения, кажется, используют perl... но я не знаю, как их модифицировать, так как они довольно загадочны.
Спасибо!