Fish Shell:
Получение текущей даты
Как это сделать:
В Fish Shell получение текущей даты - раз плюнуть. Используйте команду date
:
# Получить текущую дату в формате по умолчанию
date
# Пример вывода
Wed Apr 5 15:26:42 PDT 2023
# Получить текущую дату в пользовательском формате, например, YYYY-MM-DD
date "+%Y-%m-%d"
# Пример вывода
2023-04-05
Если вы хотите присвоить её переменной, просто сделайте:
# Сохранить текущую дату в переменной
set current_date (date "+%Y-%m-%d")
# Вывести значение переменной
echo $current_date
# Пример вывода
2023-04-05
Глубокое погружение
Исторически команда date
происходит из UNIX, и существует она уже десятилетиями. В Fish Shell вы используете более дружественную версию этого древнего инструмента. Формат %Y-%m-%d
для команды date
дает вам год, месяц и день, но у вас есть тонна других опций, таких как %H
для часов или %M
для минут.
Почему использовать Fish вместо Bash или Zsh для этого? Ну, Fish известен своим более простым, более читаемым синтаксисом. Например, установка переменных намного понятнее (set varname value
против varname=value
), и вам не нужно использовать префикс $
при их использовании.
Альтернативы встроенной date
в Fish могут включать установку более тяжелых инструментов, таких как GNU date
, для получения большего количества функций или использование других функций Fish или даже внешних программ, если вам нужно более пользовательское поведение.
С точки зрения реализации, когда вы запускаете date
в Fish, вы используете обертку Fish вокруг системной команды date. Это означает, что на Linux вы, вероятно, используете GNU date
, а на macOS - версию BSD. Они довольно похожи, но есть некоторые тонкие различия в поддерживаемых опциях.