Cela ne fonctionne pas car la commande date
retourne une chaîne contenant des espaces.
$ date
Wed Oct 16 19:20:51 EDT 2013
Si vous voulez vraiment de tels noms de fichiers, vous devrez envelopper la chaîne entre guillemets.
$ touch "foo.backup.$(date)"
$ ll foo*
-rw-rw-r-- 1 saml saml 0 Oct 16 19:22 foo.backup.Wed Oct 16 19:22:29 EDT 2013
Je pense cependant que vous pensez probablement à ajouter une chaîne différente à ajouter. J'utilise habituellement quelque chose comme ça:
$ touch "foo.backup.$(date +%F_%R)"
$ ll foo*
-rw-rw-r-- 1 saml saml 0 Oct 16 19:25 foo.backup.2013-10-16_19:25
Voir la page de manuel pour la date pour plus de codes de formatage autour de la sortie pour la date et l'heure.
Formats supplémentaires
Si vous souhaitez prendre le contrôle total en consultant la page de manuel, procédez comme suit:
$ date +"%Y%m%d"
20131016
$ date +"%Y-%m-%d"
2013-10-16
$ date +"%Y%m%d_%H%M%S"
20131016_193655
REMARQUE: Vous pouvez utiliser date -I
ou date --iso-8601
qui produira une sortie identique à date +"%Y-%m-%d
. Ce commutateur a également la capacité de prendre un argument pour indiquer différents formats d’heure :
$ date -I=?
date: invalid argument ‘=?’ for ‘--iso-8601’
Valid arguments are:
- ‘hours’
- ‘minutes’
- ‘date’
- ‘seconds’
- ‘ns’
Try 'date --help' for more information.
Exemples:
$ date -Ihours
2019-10-25T01+0000
$ date -Iminutes
2019-10-25T01:21+0000
$ date -Iseconds
2019-10-25T01:21:33+0000