Die Tage, als Perl die Skriptsprache der Wahl für das Programmieren mit Kommandozeilen auf Linux-Systemen war, sind vorbei. Heutzutage steht eine ganze Anzahl von Programmiersprachen zur Verfügung, darunter Python, Ruby und PHP. Wer bereits PHP-Code für Websites schreibt und sich in der Sprache auskennt, wird PHP auf der Kommandozeile schnell und leicht einsetzen können.

Die wichtigsten Funktionen, die eine Programmiersprache in einem Skript auszuführen hat, sind die Dateienverarbeitung und die Aufnahme von Nutzereingaben. PHP geht hier ebenso konventionell zu Werke wie alle anderen Skriptsprachen.

Sollen zum Beispiel PHP-Nutzereingaben während der Ausführung eines Skripts gelesen werden, findet folgender Code Anwendung:

#!/usr/bin/php
<?php
function read_input()
{
$fp    = fopen("/dev/stdin", "r");
$input = trim(fgets($fp, 255));
fclose($fp);
return $input;
}
printf("Please supply your name: ");
$name = read_input();
printf("nHello, $name.n");
?>

Die oben definierte Funktion read_input() übernimmt Eingaben aus STDIN, speichert sie in der Variable $input, entfernt sämtlichen davor und dahinter liegenden Durchschuss und gibt sie wieder aus. Das gleiche Prinzip kann angewandt werden, um normale Dateien zu lesen und zu bearbeiten. Man bedenke, dass STDIN für Linux einfach nur eine Datei ist (daher wird im Beispiel oben /dev/stdin geöffnet).

#!/usr/bin/php
<?php
if (file_exists($argv[1]))
{
$file = $argv[1];
} else {
printf("ERROR: File '$file' does not exist!n");
exit 1;
}
$data = file($file);
$c    = 1;
foreach ($data as $line)
{
printf(sprintf("[%s]: %s", $c, $line));
$c++;
}

Im oben angeführten Beispiel liest das PHP-Skript jede Zeile der in der Kommandozeile angegebenen Datei und gibt sie mit vorangestellter, fortlaufender Zeilennummer wieder aus. Wenn die Datei nicht existiert, druckt das Skript eine Fehlermeldung und wird mit Code 1 beendet. (Dies weist auf einen Fehler hin. Bei normalem Verlauf würde das Skript mit Code 0 beendet.) Die Funktion file() wird hier eingesetzt, da sie jede Zeile der Datei in ein Array einliest (in diesem Fall $data), das dann im Statement foreach() verwendet wird, um das Array einmal pro Zeile in der Datei durchzuarbeiten.

PHP muss nicht mehr nur für Web-Programmierung eingesetzt, sondern kann ohne großen Aufwand auch für das Programmieren mit Kommandozeilen verwendet werden. Dabei ist PHP auch flexibel und schnell. Ebenso kann nahezu alles, was man mit einem Webskript macht, etwa die Bearbeitung von Datenbanken, sehr leicht auch mittels eines Kommandozeilenskripts in PHP erledigt werden.

ZDNet.de Redaktion

Recent Posts

Alphabet übertrifft die Erwartungen im ersten Quartal

Der Umsatz steigt um 15 Prozent, der Nettogewinn um 57 Prozent. Im nachbörslichen Handel kassiert…

2 Tagen ago

Microsoft steigert Umsatz und Gewinn im dritten Fiskalquartal

Aus 61,9 Milliarden Dollar generiert das Unternehmen einen Nettoprofit von 21,9 Milliarden Dollar. Das größte…

2 Tagen ago

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

2 Tagen ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

3 Tagen ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

3 Tagen ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

3 Tagen ago