Das heißt, der echoBefehl ist Teil des bashProgramms selbst (vorausgesetzt, Sie verwenden bash)
-n ist eine Option, also mal sehen, was es tut
$ help echo
Write arguments to the standard output
...
-n do not append a newline
Also, wenn wir die Linie laufen:
zanna@monster:~$ echo -n "Today's date is: "
Today's date is: zanna@monster:~$
Hmm, das sieht nicht sehr gut aus, weil es nach dem gedruckten Text keinen Zeilenumbruch gibt. Wir werden darauf zurückkommen.
$ type date
date is /bin/date
ach so der datebefehl ist ein separates programm. Was tut es?
$ man date
Display the current time in the given FORMAT, or set the system date.
Die Zeichen nach dem dateBefehl sind Formatoptionen (die vorangestellt werden müssen +) - es werden verschiedene Teile des Datums angegeben (z. B. %Ader vollständige Name des Wochentags - man datedie vollständige Liste der Optionen finden Sie im Rest des Befehls).
$ date +"%A, %B %-d, %Y"
Tuesday, February 7, 2017
Wenn wir also die Befehle in einem Skript zusammenfassen und dann das Skript ausführen, erhalten wir
Today's date is: Tuesday, February 7, 2017
Nett! Wenn Sie den gleichen Effekt in einem Terminal erzielen möchten, können Sie die beiden Befehle durch ein Semikolon anstelle einer neuen Zeile trennen:
$ echo -n "Today's date is: " ; date +"%A, %B %-d, %Y"
Today's date is: Tuesday, February 7, 2017
Ich würde sagen, es fehlt eine Erklärung für das Pluszeichen vor dem Argument
Délisson Junio
@ DélissonJunio bearbeitet, aber Melebius 'Antwort zeigt es besser mit dem direkten Manpage-Zitat
Zanna
@Zanna Ich bin nicht der OP, aber was mir aufgefallen ist, war die Tatsache, dass das Plus seltsam erscheint, da ich denke, dass bash alles zwischen Anführungszeichen als ein Argument interpretiert, ohne das Plus. Aber ich denke, dies ist eine andere Frage
Délisson Junio
2
Sie können das Plus auch in die Anführungszeichen setzen. Bash einen ungerade-Gefühl Weg läuft zusammen zitiert und neben Text, zB cd „$ x“ / Ausgabe oder sogar cd nospace / „mit Platz“ / nospace
echo [SHORT-OPTION]...[STRING]...Echo the STRING(s) to standard output.-n do not output the trailing newline
Daher wird die Zeichenfolge gedruckt und danach nicht in die neue Zeile gewechselt (dies ist das Standardverhalten). Die Ausgabe des nächsten Befehls wird daher auf der rechten Seite der wiedergegebenen Zeichenfolge gedruckt.
Datum
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
Ich hoffe es ist klar. Fühlen Sie sich frei zu fragen, wenn nicht.
Danke vielmals. Ich habe noch eine Frage: Gibt es bereits eine integrierte Funktion zum Anzeigen des Datums im Terminal?
Unbekannte Person
@Zanna Es ist eigentlich keine neue Frage, es hängt mit einer Frage zusammen, die ich gestellt habe.
Unbekannte Person
1
@Unknownperson Wenn Sie möchten, dass das Datum standardmäßig im Terminal angezeigt wird, ist dies eine völlig andere Frage als "Was macht dieser Code?", Da Sie die PS1-Variable bearbeiten müssten (oder möglicherweise mit der Terminal-App) Einstellungen - darüber bin ich unwissend), die außerhalb des Rahmens dieses Beitrags liegt
Zanna
1
@Unknownperson datetut anzeigen Datum im Terminal (Befehlszeilenschnittstelle). Wenn Sie etwas mehr wollen (wie es Zanna vorschlägt), stellen Sie bitte eine neue Frage.
Melebius
4
echo -n "Today's date is: "
Es wird gedruckt: Das heutige Datum ist:
date +"%A, %B %-d, %Y"
Es wird ungefähr so gedruckt: Dienstag, 7. Februar 2017
Hinweis :
Verwenden Sie manoder --helpBefehl, um mehr über andere Befehle zu erfahren.
z.B :
$ man date && man echo
an der Muschel.Antworten:
Das heißt, der
echo
Befehl ist Teil desbash
Programms selbst (vorausgesetzt, Sie verwenden bash)-n
ist eine Option, also mal sehen, was es tutAlso, wenn wir die Linie laufen:
Hmm, das sieht nicht sehr gut aus, weil es nach dem gedruckten Text keinen Zeilenumbruch gibt. Wir werden darauf zurückkommen.
ach so der
date
befehl ist ein separates programm. Was tut es?Die Zeichen nach dem
date
Befehl sind Formatoptionen (die vorangestellt werden müssen+
) - es werden verschiedene Teile des Datums angegeben (z. B.%A
der vollständige Name des Wochentags -man date
die vollständige Liste der Optionen finden Sie im Rest des Befehls).Wenn wir also die Befehle in einem Skript zusammenfassen und dann das Skript ausführen, erhalten wir
Nett! Wenn Sie den gleichen Effekt in einem Terminal erzielen möchten, können Sie die beiden Befehle durch ein Semikolon anstelle einer neuen Zeile trennen:
quelle
Sie sollten mit Manualpages den Befehl starten
man
. Geben Sie einfach einman <command>
, um Informationen über a zu erhalten<command>
. Das Navigierenman
ist nicht sehr intuitiv, es gibt jedoch zahlreiche Anleitungen, z. B. https://wiki.gentoo.org/wiki/Man_page/Navigate#Navigating_and_searching_man_pages .Relevante Teile von
man echo
undman date
:Echo
Daher wird die Zeichenfolge gedruckt und danach nicht in die neue Zeile gewechselt (dies ist das Standardverhalten). Die Ausgabe des nächsten Befehls wird daher auf der rechten Seite der wiedergegebenen Zeichenfolge gedruckt.
Datum
Ich hoffe es ist klar. Fühlen Sie sich frei zu fragen, wenn nicht.
quelle
date
tut anzeigen Datum im Terminal (Befehlszeilenschnittstelle). Wenn Sie etwas mehr wollen (wie es Zanna vorschlägt), stellen Sie bitte eine neue Frage.Es wird gedruckt: Das heutige Datum ist:
Es wird ungefähr so gedruckt: Dienstag, 7. Februar 2017
Hinweis :
Verwenden Sie
man
oder--help
Befehl, um mehr über andere Befehle zu erfahren.z.B :
Probieren Sie diese Herausforderungen aus. Herausforderungen sind wirklich gut, um Ihnen dabei zu helfen, Dinge am Terminal zu erledigen.
quelle