Bash
Избегание даты с помощью printf
Поиск…
Вступление
В Bash 4.2 было введено встроенное преобразование времени для printf
: спецификация формата %(datefmt)T
делает printf
выводит строку даты, соответствующую строке формата datefmt
как это понимается strftime
.
Синтаксис
- printf '% (dateFmt) T' # dateFmt может быть любой строкой формата, которая strftime распознает
- printf '% (dateFmt) T' -1 # -1 представляет текущее время (по умолчанию для отсутствия аргумента)
- printf '% (dateFmt) T' -2 # -2 - время, в которое была вызвана оболочка
замечания
Использование printf -v foo '%(...)T'
идентично foo=$(date +'...')
и сохраняет fork для вызова внешней date
программы.
Получить текущую дату
$ printf '%(%F)T\n'
2016-08-17
Установите переменную на текущее время
$ printf -v now '%(%T)T'
$ echo "$now"
12:42:47
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow