web-dev-qa-db-fra.com

Comment ajouter la date de la commande UNIX à une instruction echo

Fondamentalement, je veux que le terminal affiche un message suivi de la date et de l'heure, comme "Bonjour, aujourd'hui est -dateandtime-".

Donc, l'écho peut accomplir le premier bit, et la date peut accomplir le dernier, mais seulement séparément, comment puis-je les assembler (dans une seule commande) pour qu'ils sortent ensemble.

Comme

écho bonjour là

-nouvelle commande-

rendez-vous amoureux

Le fait, mais pas sur une seule ligne. Le pipeline est-il la réponse?

44
Doug Smith

Cela le fera:

 echo "Hi, today is $(date)"
81
jlliagre

La date et l'heure prendront une chaîne de format arbitraire.

> date +"Hi, today is - %a %b %e %H:%M:$S %Z %Y"
  Hi, today is - Thu Feb 2 03:28: CET 2012
14
zellio
echo Hello there, today is `date`

Vous pouvez également formater la sortie de la date à l'aide de modificateurs tels que:

echo Hello there, today is `date +%D`

Voir man date pour une liste complète des modificateurs.

6
Josepanaero

Backtick fera l'affaire:

echo "Hi, today is" `date`
3
ultra

Pour ce problème particulier, la solution de mimisbrunnr est la bonne voie à suivre. Pour la question générale de savoir comment ajouter des données à un écho, certaines techniques courantes sont:

 $ echo 'Bonjour, c'est aujourd'hui' | tr -d '\ 012'; date 
 Bonjour, aujourd'hui est le 1 février 18:11:40 MST 2012 
 $ echo -n 'Bonjour, aujourd'hui c'est'; date 
 Salut, aujourd'hui est le 1 février 18:11:43 MST 2012 
 $ printf 'Salut, aujourd'hui est'; date 
 Bonjour, aujourd'hui est le 1 février 18:11:48 MST 2012 
2
William Pursell