Портирование парсинга даты Linux к FreeBSD

[115164] Да, все возможно через программное обеспечение. Для этого вам пришлось бы модифицировать, вероятно, некоторые значительные части ядра. Если вы говорите о сейчас....no. На самом деле вы вообще не можете выделить системное пространство подкачки на основе конкретного пользователя.[12137]Другой способ - не выделять пространство подкачки на физическом разделе и вырезать большой преаллоцированный файл для тома truecrypt, смонтировать его и создать под ним файл подкачки. Затем установите систему, чтобы использовать этот файл под томом truecrypt в качестве файла подкачки. Я не гарантирую ни стабильность, ни эффективность обработки такого хода, однако, это было бы для вас экспериментом. Однако, это было бы в соответствии с SYSTEM, а не в соответствии с пользователем.[115167].
2
28.03.2015, 22:15
2 ответа

Версия GNU Дата , которую вы используете на Linux, поддерживают гораздо больше, чем в формате даты на большинстве других UNIX варианты. Он также имеет много вариантов, которые не присутствуют на других вариантах Unix. Единственный стандарт дата - отображение текущей даты в соответствии с форматом, указанным в аргументе + ... (а также способ для системного администратора Установите системную дату) и опцию -U , чтобы указать UTC вместо локального часового пояса.

На FreeBSD Вы можете использовать утилиту Date для преобразования между форматами дата с помощью параметра , например. Дата -F% s "$ Datum" +% y-% m-% d для преобразования даты, выраженной в секундах из эпохи в читаемый человеком формате.

Если вы хотите приступить к разбору даты, вы можете установить пакет Coreutils , который содержит дату GNU. Или вы можете использовать Дата :: Parse модуль в Perl или DateutiL в Python.


Чтобы остановить сценарий оболочки на большинстве ошибок, добавьте SET -E чуть ниже #! линия.

Если вы хотите явно отобразить ошибку, это зависит от вас, чтобы выйти из строя скрипта с состоянием ошибки. Напечатайте ошибки в Стдерру, а не на stdout.

date -d "$datum" +"%Y-%m-%d" >/dev/null 2>&1 || {
  echo "ERROR wrong format" >&2
  exit 1
}

или

if ! date -d "$datum" +"%Y-%m-%d" >/dev/null 2>&1; then
  echo "ERROR wrong format" >&2
  exit 1
fi
0
27.01.2020, 22:21

У меня нет коробки BSD для проверки, но кажется, что вам нужно использовать эту форму:

date -f "some format" "$datum" "+%Y-%m-%d"

, и вы должны указать формат входящего данных, так что это может быть проанализированным.

1
27.01.2020, 22:21

Теги

Похожие вопросы