O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

23.5 Die Ausgabe eines Kommandozeilen-Befehls weiterverarbeiten

Problem

Sie wollen die Ausgabe eines Befehls mit PHP weiterverarbeiten.

Lösung

Nutzen Sie eine Pipe (|) und die PHP-Konstanten STDIN und STDOUT.

#!/usr/bin/php
<?php
$zeilen = array();
while (false !== $zeile = fgets(STDIN, 1024)) {
    $zeile = trim($zeile);
    if ($zeile === '') {
        continue;
    }
    array_push($zeilen, $zeile);
}
sort($zeilen);
foreach ($zeilen as $zeile) {
    fputs(STDOUT, $zeile."\n");
}

Dieses Skript können Sie jetzt verwenden, um die Ausgabe eines beliebigen Befehls zu sortieren:

% ls -as | sort.php

Diskussion

Zuerst schreiben Sie ein Skript, das die Ausgabe eines Kommandozeilen-Befehls weiterverarbeiten soll. Um auf die Daten zuzugreifen, verwenden Sie die Konstante STDIN, genau so, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required