Je suivais un tutoriel et là je suis tombé sur une commande:
printf "%(%s)T"
Le résultat de cette commande est:
1454299615
Quelqu'un pourrait-il me dire quelle est cette commande et ce que signifie la sortie?
command-line
bash
rtecxs
la source
la source
printf
un intégré?/usr/bin/printf
sur Ubuntu 14.04 donne une erreur:printf: %(: invalid conversion specification
. Si vous utilisezbash
. Essayez laman bash
documentation intégrée.Réponses:
C'est une façon d'exprimer l'heure formatée par
printf
.Le format est:
Où
FORMAT
est défini parstrftime(3)
.Donc, pour obtenir l'heure de l'époque (temps en secondes depuis le 1970-01-01 00:00:00 UTC), nous avons besoin du
strftime(3)
format%s
:Notez que vous devez également
\n
à la fin ajouter une nouvelle ligne carprintf
(contrairement àecho
) ne l'ajoute pas par défaut.Exemple:
Dans un souci d'exhaustivité, vous pouvez également utiliser la
date
commande d'unestrftime(3)
manière formatée similaire pour obtenir l'heure:NOTE : Ce comportement est spécifique à
bash
's etksh
est intégré dans la fonctionprintf
, et ne fonctionne pas avec/usr/bin/printf
,csh
etzsh
built-ins.la source
printf(1)
page de manuel.printf
est une fonction intégrée ici (bien que celle externe ait le même comportement) .. vérifiezhelp printf
..