Попробуйте запустить date +%yy%mm%dd%HH%MM
отдельно, и проблема должна стать очевидной:
$ date +%yy%mm%dd%HH%MM
19y10m26d11H40M
Код формата для двузначного года - %y
, поэтому %yy
дает двузначныйгод, за которым следует беспризорное «у». Все остальные работают так же. Так что просто удвойте все коды формата. Да, и я рекомендую использовать $( )
вместо обратных галочек:
$ date +%y%m%d%H%M
1910261141
$ touch -t $(date +%y%m%d%H%M) /path/to/file
Но на самом деле это проще, потому что touch
по умолчанию соответствует текущему времени. Так что все, что вам действительно нужно, это touch /path/to/file
.