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