Yanıtlar:
Hadi bakalım:
date +%Y%m%d%H%M%S
En man dateüste yakın bir yerde datesöylendiği gibi komutu şu şekilde kullanabilirsiniz :
date [OPTION]... [+FORMAT]
Yani, ona a ile başlayarak bir format parametresi verebilirsiniz +. Muhtemelen kullandığım biçimlendirme sembollerinin anlamını tahmin edebilirsiniz:
%Y yıl için%m bir aydır%d gün içinBunu ve diğer biçimlendirme sembollerini içinde bulabilirsiniz man date.
Bash kullanıyorsanız, aşağıdaki komutlardan birini de kullanabilirsiniz:
printf '%(%Y%m%d%H%M%S)T' # prints the current time
printf '%(%Y%m%d%H%M%S)T' -1 # same as above
printf '%(%Y%m%d%H%M%S)T' -2 # prints the time the shell was invoked
Sonucu stdout'a yazdırmak yerine içinde -v varnamesaklamak için Option'ı kullanabilirsiniz $varname:
printf -v varname '%(%Y%m%d%H%M%S)T'
Tarih komutu her zaman bir alt kabukta (yani ayrı bir işlemde) çalıştırılırken, printf yerleşik bir komuttur ve bu nedenle daha hızlı olacaktır.
%seçenekleri iletebileceğinizle ilgili daha fazla belge arayanlar için bu, datekomutu kullanıyor gibi görünüyor . Yani, man datesize mevcut seçenekleri verecektir.
Parametre genişletmeyi kullanarak bunu yapmanın ilginç / eğlenceli yolu (gerektirir bash 4.4veya daha yeni):
${parameter@operator} - P operatorGenişletme, parametre değerinin bir bilgi istemi dizesi gibi genişletilmesinin sonucu olan bir dizedir.
$ show_time() { local format='\D{%Y%m%d%H%M%S}'; echo "${format@P}"; }
$ show_time
20180724003251
"`date +%Y-%m-%d %H:%M:%S`"bana birdate: illegal time format