Programmiersprachen für Linux
In Windows zu programmieren ist nicht jedermanns Sache. Sprachen müssen erst aufwändig installiert werden, die Programmierung ist häufig unnötig kompliziert. Wer's nicht glaubt, soll sich einmal den Windows Scripting Host näher ansehen.
(erschienen in der Chip-Linux-Sonderheftreihe)
Linux ist anders. Wichtige Sprachen wie C, Perl und PHP sind mit an Bord oder lassen sich mit einem Handgriff nachinstallieren. Das Angebot der Sprachen reicht vom simplen aber mächtigen Bash-Skript bis hin raffinierten Skriptsprachen wie Python. Der Vorteil dieser Sprachvielfalt in Linux: Hier findet sich für jeden Zweck und für jeden Kenntnisstand die richtige Sprache. Alles, was Sie brauchen, ist ein wenig Zeit und ein Programmierprojekt.
Bash-Skript
Bash-Skript ist die Sprache, um Verwaltungsarbeiten auf der Linux-Shell zu automatisieren. Wer unter DOS oder Windows einmal mit Batch-Dateien gearbeitet hat, kennt das Prinzip: Nacheinander werden Programmaufrufe und Kommandozeilenbefehle in das Skript geschrieben.
Allerdings kann ein Bash-Skript deutlich mehr als sein Windows-Pendant, zum Beispiel Schleifen oder IF-Statements. Um mit Bash zu programmieren müssen Sie nichts weiter installieren - alles ist an Bord. Ein typisches Skript sieht so aus:
#!/bin/sh
for filename in *
do
test -f "$filename" || continue
newname=`echo $filename | sed 's/ /_/g'`
if [ "$filename" != "$newname" ]
then
if [ -e $newname ]
then
echo "Datei $newname existiert bereits."
echo "$filename wird nicht umbenannt."
else
echo "Benenne um: $filename -> $newname"
mv "$filename" "$newname"
fi
fi
done
Die erste Zeile gibt dem Skript einen Hinweis darauf, wo der zuständige Interpreter steckt. Danach geht es gleich in eine erste Schleife. Die holt nacheinander jeden Datei- und Ordnernamen aus dem aktuellen Verzeichnis. Mit dem do beginnt dann die eigentliche Schleife. Darin führen Sie zunächst einen Test aus, ob es sich bei dem ermittelten Namen wirklich um eine Datei und nicht etwa um ein Verzeichnis handelt. Ist es eine Datei, geht es in der nächsten Zeile weiter. Ist es keine, wird die Schleife mit dem nächsten Eintrag aus dem Verzeichnis fortgesetzt.
Die nächste Zeile ersetzt im Dateinamen alle Leerzeichen mit einem Unterstrich. Hierfür zuständig ist das Programm sed, das seinerseits einen Regulären Ausdruck nutzt. Entscheidend in der Zeile sind die beiden "Backtick" genannten, nach links geneigten Anführungszeichen. Die sorgen dafür, dass die Ausgabe aus echo $filename... an das Skript zurückgegeben und in die Variable newname übernommen werden. Danach prüft das Progrämmchen noch, ob es bereits eine Datei mit dem in $newname gespeicherten Namen gibt. Dafür zuständig ist [ -e $newname ]. Das -e steht für "exists", also die Nachfrage, ob der Name bereits vorhanden ist. Falls ja, gibt es eine Fehlermeldung und es geht mit dem nächsten Eintrag weiter. Falls nein, wird die Datei umbenannt.
Schön zu erkennen sind die Besonderheiten in den Schleifen- und If-Konstruktionen. Währen die in Programmiersprachen meist mit geschweiften Klammern umschlossen werden, gelten hier Schlüsselwörter wie fi für das Ende einer If-Konstruktion oder done zum Beenden einer Schleife.
- Shell programmieren mit Bash Scripts unter Linux
- Reguläre Ausdrücke in der Praxis
- Google Sitemaps mit PHP programmieren
- Webseiten programmieren in C# mit dem Visual Web Developer 2.0
- Samba als Primärer Domänencontroller
- Da hat es Bash gemacht
- PHP 5.1: Abstraktion und Prepared Statements mit PDO
- Variablen in Strings einbinden
- PHP: Session-Verwaltung programmieren
- Apache Benchmark misst Geschwindigkeit von PHP-Programm
blog comments powered by Disqus

RSS Abonnieren
Facebook
Del.icio.us
Twitter