php stdin aus bash pipe und heredoc

8

Kann ich eine Eingabe von einer Pipe und einem heredoc erhalten, und benutze sie beide innerhalb von PHP in der Befehlszeile.

Ich möchte so etwas tun:

%Vor%

Was das Ergebnis von ls -l

zurückgeben soll

Kann ich auch php -R mit heredoc input für PHP-Skript verwenden?

    
Billy Moon 27.12.2011, 20:46
quelle

2 Antworten

9

Piping

ls -l | php -r 'print_r(file("php://stdin"));'

Heredoc

%Vor%

Kombiniert

%Vor%

Hinweis : Wenn Sie Here Documents für den Befehl php verwenden, überschreiben die neu hinzugefügten php -Codes die vorherige stdin

    
Shiplu Mokaddim 27.12.2011, 21:12
quelle
1

Bezüglich des -R -Teils der Frage:

  

-R / --process-code

     

PHP-Code, der für jede Eingabezeile ausgeführt wird. Hinzugefügt in PHP 5.

     

In diesem Modus sind zwei spezielle Variablen verfügbar: $argn und $argi . $argn enthält die Zeile, die PHP gerade bearbeitet, während $argi die Zeilennummer enthält. Google Docs

Wenn ich Ihre Frage richtig verstanden habe, suchen Sie nach der Variable $argn . Heredoc sollte Unterstützung von Ihrem Bash sein.

Bearbeiten: Err, rufen Sie einfach den Wert über mehrere Zeilen auf:

%Vor%

(Ich denke, es ist einfacher, das einfache Zitat für den Schalter zu verwenden)

    
hakre 27.12.2011 21:24
quelle

Tags und Links