Quelle est donc la commande de date correspondant à var="$(date + "%x %r %Z")" ?
Comme indiqué dans une autre réponse, vous n'avez pas cité les options correctement, elles devraient l'être au moins :
date +"%x %r %Z"
Cela est nécessaire parce que vous utilisez des espaces blancs pour séparer les différentes informations. page de manuel pour la date suggère d'utiliser -
ou _
Avec cela, vous pouvez omettre les guillemets dans le terminal normal, ou vous échappez les espaces blancs.
Exemples :
-
en utilisant "-" comme séparateur
date +%x-%r%Z
donne le résultat suivant :
21.09.2018-11:30:15 CEST
-
en utilisant "_" comme séparateur
date +%x_%r%Z
donne le résultat suivant :
21.09.2018_11:30:15 CEST
-
utiliser les espaces blancs échappés comme séparateurs
date +%x\ %r%Z
donne le résultat suivant :
21.09.2018 11:30:15 CEST
-
ne pas utiliser d'intercalaires du tout
date +%x%r%Z
donne le résultat suivant :
21.09.201811:30:15 CEST
Reste pour un cas d'utilisation particulier. Lorsque vous essayez d'incorporer une date dans un crontab
vous devez échapper à la commande %
également. Ainsi, en tant qu'information non divisée, la commande ressemblerait à ceci (les règles susmentionnées s'appliquent pour l'échappement) :
date +\%x\%r\%Z