Сравнение дат разных форматов и сопоставление их с другим файлом

systemd представила цели в качестве аналога для уровней запуска в системе инициализации sysV. Разработчики sytemd сделали его практически совместимым с большинством скриптов sysV. То же самое происходит для telinit . Это переводится в эквивалент systemd.

Например, telinit 0выключает машину. systemd имеет poweroff.target для выполнения того же, что и уровень запуска 0 . Итак, telinit 0преобразуется systemd в активацию poweroff.target .

Но существуют некоторые проблемы совместимости с системами инициализации sytemd и sysV ->https://www.freedesktop.org/wiki/Software/systemd/Incompatibilities.

0
04.07.2020, 03:32
1 ответ

Вы можете сделать это в обычном bash с подстановкой параметров:

dateA='2017-01-01 12:00:00'
dateB='20170101 1200'

tmpA=${dateA//[-:]/}   # remove hyphens and colons
# next expansion excludes last 2 characters
[[ "${tmpA:0:-2}" == "$dateB" ]] && echo same || echo different
same

Старые версии bash не поддерживают отрицательную длину, но вы можете использовать${tmpA:0:${#tmpA}-2}

0
18.03.2021, 23:22

Теги

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