Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Ein- und Ausgabe / Externe Programme ausführen 🆕
run und shell
Es gibt zwei Wege, ein externes Programm zu starten. Die Funktion
run nimmt den Befehl und seine Argumente als
getrennte Werte und führt das Programm unmittelbar aus,
ohne eine Shell einzubeziehen:
run 'echo', 'hello';Das führt das Programm echo mit dem einzigen Argument
hello aus, was hello ausgibt. Weil die
Argumente getrennt übergeben werden, besteht keine Gefahr, dass die
Shell Leerzeichen oder Sonderzeichen falsch deutet — run
ist die sichere Standardwahl.
Die Funktion shell übergibt stattdessen eine
einzelne Zeichenkette an die System-Shell, die sie
auswertet. Damit können Sie Shell-Möglichkeiten wie Pipes und
Umleitungen nutzen:
shell 'echo hello | tr a-z A-Z';Hier führt die Shell echo aus, leitet dessen Ausgabe
durch tr und gibt HELLO aus. Die
Bequemlichkeit kommt mit einer Warnung: Weil die Shell die Zeichenkette
zerlegt, ist es gefährlich, einen shell-Befehl aus nicht
vertrauenswürdiger Eingabe zusammenzusetzen. Ziehen Sie run
vor, solange Sie nicht ausdrücklich Shell-Möglichkeiten brauchen.
Beide liefern ein Proc-Objekt, das beschreibt, wie das
Programm geendet hat. Standardmäßig teilt sich das gestartete Programm
die Ausgabe Ihres Programms, was es ausgibt, erscheint also am
Bildschirm. Um diese Ausgabe stattdessen aufzufangen, fordern Sie sie an
— das Thema des nächsten Abschnitts.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Externe Programme ausführen 🆕 | Quiz — Programme ausführen →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.