2017-12-19 4 views
-2

Option -O file wird verwendet, um wget Ausgabe an eine bestimmte file zu haben.Warum wird wget -O- auf stdout ausgegeben?

Warum gibt wget -O- "$url" output to stdout aus? Es gibt keinen solchen Ausdruck -O- in man wget. Warum bedeutet das zweite Zeichen - in -O- Download der "$url" und Ausgabe auf stdout?

Antwort

2

von POSIX-Standard, wenn ein Programm ein Argument Dateipfad nimmt für die Ausgabe wird - verwendet ‚Standardausgabe‘ bedeuten . Die man-Seite beschreibt dies unter -O.

+4

Wenn eine Ein-Buchstaben-Option '-X' ein Argument verwendet, können Sie entweder' -X arg' oder '-Xarg' verwenden. Das ist absolut Standard. – melpomene

+3

Es ist "Standard" im wörtlichen Sinne, dass es als Teil der POSIX-Dienstprogramm Argument Syntax Richtlinien standardisiert ist - siehe http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html * [A] konforme Implementierung soll Erlauben Sie Anwendungen auch, das Options- und Optionsargument in der gleichen Argument-Zeichenkette anzugeben, ohne dazwischenliegende Leerzeichen * einzufügen, die die "ausgenommen wie angemerkt" -Klausel sind, auf die sich die Hilfssyntax-Richtlinie 6 (nahe dem Ende desselben Dokuments) bezieht. –

+2

Siehe auch Leitlinie 13 am Ende desselben Dokuments - was bedeutet, dass es sich nicht nur um eine "lose Konvention" handelt, die sich auf stdin oder stdout bezieht, sondern ebenfalls ein POSIX-Mandat (wenn auch nur ein Mandat, das für POSIX-standardisierte Dienstprogramme gilt)). –

1

https://www.gnu.org/software/wget/manual/wget.html#Download-Options:

'-O Datei'
'--output-Dokument = Datei'

Die Dokumente werden nicht auf die entsprechenden Dateien geschrieben werden , aber alle werden zusammen verkettet und in Datei geschrieben. Wenn '-' als Datei verwendet wird, werden Dokumente auf die Standardausgabe gedruckt, wodurch die Linkkonvertierung deaktiviert wird. (Use ‚./-‘ in eine Datei zu drucken, wörtlich genannt ‚-‘.)