Wie können Sie eine Datei mit wget abrufen und sie direkt ausführen, während Sie Argumente angeben?

Wie können Sie eine Datei mit wget abrufen und sie direkt ausführen, während Sie Argumente angeben?

Ich möchte eine ausführbare Datei herunterladen und sie in einem Schritt ausführen und dabei der ausführbaren Datei Argumente bereitstellen.

Ich habe es geschafft, das Herunterladen und Ausführen mithilfe einer Pipe durchzuführen:

wget -O - http://xrl.us/cpanm | perl

Dadurch wird die cpanmausführbare Datei über ausgeführt perl.

Jetzt möchte ich ein Argument hinzufügen, sagen wir A:

wget -O - http://xrl.us/cpanm | perl A

Das funktioniert nicht mehr. Ich bekomme jetzt Cannot write to ‘-’ (Success)..

Wie kann das erreicht werden?

Antwort1

Du kannst GebenperlSkriptargumente, nach programnamedenen in diesem Fall die Standardeingabe ( -) folgt. Ich denke also, das ist, was Sie fragen:

wget -O - http://xrl.us/cpanm | perl -- - A

oder

wget -O - http://xrl.us/cpanm | perl -- - --help

Sehen:perlrun-Manpagefür mehr Details.

Notiz:Aus der Handbuchseite:

Ein "--" signalisiert das Ende der Optionen und deaktiviert die weitere Verarbeitung von Optionen. Alle Argumente nach dem "--" werden als Dateinamen und Argumente behandelt.

Mit anderen Worten, --beendet dieperlArgumente. Danach geben wir den Dateinamen ein, der das Skript enthält (in unserem Fall ist das die Standardeingabe, die durch ein gekennzeichnet ist -) und dann die Argumente für das Skript.

verwandte Informationen