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