Je suis nouveau sur le terminal et j'essaie d'apprendre à l'utiliser.
Que font ces lignes? Et comment fonctionnent-ils?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
$ type echo
echo is a Shell builtin
ce qui signifie que la commande echo
fait partie du programme bash
(en supposant que vous utilisez bash)
-n
est une option, voyons ce qu'elle fait
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Alors, quand on lance la ligne:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm, ça n'a pas l'air très bon, parce qu'il n'y a pas de nouvelle ligne après le texte imprimé. Nous y reviendrons.
$ type date
date is /bin/date
ah, donc la commande date
est un programme séparé. Qu'est ce que ça fait?
$ man date
Display the current time in the given FORMAT, or set the system date.
Les caractères après la commande date
sont des options de formatage (qui doivent être précédés de +
) - différentes parties de la date sont spécifiées (par exemple, %A
est le nom complet du jour de la semaine - voir le reste de man date
pour la liste complète. options)
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Donc, si nous mettons les commandes ensemble dans un script, puis exécutons le script, nous obtiendrons
Today's date is: Tuesday, February 7, 2017
Agréable! Si vous voulez le même effet dans un terminal, vous pouvez utiliser un point-virgule pour séparer les deux commandes au lieu d'une nouvelle ligne:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Vous devriez commencer par les pages de manuel, la commande man
. Tapez simplement man <command>
pour obtenir des informations sur un <command>
. Naviguer dans man
n’est pas très intuitif, mais il existe de nombreux guides, par exemple https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .
Parties pertinentes de man echo
et man date
:
echo [SHORT-OPTION]... [STRING]...
Echo the STRING(s) to standard output.
-n do not output the trailing newline
Donc, il imprime la chaîne et ne va pas à la nouvelle ligne après celle (qui est le comportement par défaut), donc le résultat de la commande suivante sera imprimé sur le côté droit de la chaîne renvoyée.
date [OPTION]... [+FORMAT]
FORMAT controls the output. Interpreted sequences are:
%A locale's full weekday name (e.g., Sunday)
%B locale's full month name (e.g., January)
%d day of month (e.g., 01)
%Y year
By default, date pads numeric fields with zeroes. The following optional flags may follow '%':
- (hyphen) do not pad the field
J'espère que c'est clair. N'hésitez pas à demander si non.
echo -n "Today's date is: "
Il imprimera: La date d'aujourd'hui est:
date +"%A, %B %-d, %Y"
Cela affichera quelque chose comme ceci: mardi 7 février 2017
Conseil :
utilisez la commande man
ou --help
pour en savoir plus sur les autres commandes.
par exemple :
man echo
echo --help
Essayez ces défis les défis sont vraiment bons pour vous aider à apprendre à faire des choses sur le terminal.