Je suis nouveau sur le terminal et j'essaie d'apprendre à l'utiliser.
Que font ces lignes? Et comment ça marche?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Je suis nouveau sur le terminal et j'essaie d'apprendre à l'utiliser.
Que font ces lignes? Et comment ça marche?
echo -n "Today's date is: "
date +"%A, %B %-d, %Y"
Réponses:
$ type echo
echo is a shell builtin
ce qui signifie que la echo
commande fait partie du bash
programme lui-même (en supposant que vous utilisez bash)
-n
est une option, voyons donc ce qu'il fait
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Donc, quand nous courons 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 bien, car 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 date
commande 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 date
commande sont des options de format (qui doivent être précédées de +
) - différentes parties de la date sont spécifiées (par exemple, %A
le nom complet du jour de la semaine - voir le reste de man date
pour la liste complète des 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 a <command>
. La navigation man
n'est pas très intuitive, 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
Il imprime donc la chaîne et ne passe pas à la nouvelle ligne après cela (ce qui est le comportement par défaut), donc la sortie de la commande suivante sera imprimée sur le côté droit de la chaîne en écho.
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 sinon.
date
fait date de l' exposition dans le terminal (interface de ligne de commande). Si vous voulez quelque chose de plus (comme ce que suggère Zanna), veuillez poser une nouvelle question.
echo -n "Today's date is: "
Il sera imprimé: La date d'aujourd'hui est:
date +"%A, %B %-d, %Y"
Il imprimera quelque chose comme ceci: mardi 7 février 2017
Conseil :
utilisez man
ou --help
commande 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.
$ man date && man echo
à la coquille.