wendzel.de

Postings in "Einsteiger-Blog":


Neuigkeiten für Linux-Users-Welcome
Mail/NNTP/RSS/Adressen-Synchronisierung mit Thunderbird und Unison unter Linux (Ubuntu)
Grundlegendes zur Linux-Sicherheit für Otto Normalverbraucher
Wie Sylpheed seine Versionsnummer auf Aktualität prüft
In welchem Geschäft kann ich Hardware kaufen, die unter Linux läuft?
Slackware jetzt auch offiziell für 64-Bit-Systeme
Schwedische/Spanische Sonderzeichen unter Linux
Shellskript Programmierung - Teil 7 (Variablen mit der Tastatur einlesen)
Slackware vs Ubuntu
Wer braucht schon Datenschutz im Web?
Warum in PHP programmieren?
Vorteile freier Software am Beispiel von Linux
Fortify gibt Studie zur Sicherheit von OpenSource-Software frei
PHP Registrierungen
C++-Code in HTML darstellen
Das n-Damen-Problem
PHP Includes absichern
Shellskript Programmierung - Teil 6 (Kommandosubstitution)
(void) printf(...) vs. printf(...)
Shellskript Programmierung - Teil 5 (Pipes/Ausgabeumlenkung)
Shellskript Programmierung - Teil 4 (Variablen)
Shellskript Programmierung - Teil 3 (Shells wechseln)
Shellskript Programmierung - Teil 2 (Welche Shells gibt es?)
Shellskript Programmierung - Teil 1 (Einführung)
In welcher Programmiersprache wurde Linux geschrieben?
Ordentliche Buchführung
C: [] ist kommutativ!


RSS Feed

 
Shellskript Programmierung - Teil 6 (Kommandosubstitution)

Eines der mächtigsten Feature der bash ist die Kommandosubstitution. Im sechsten Teil dieser Kurzeinführungen soll es um genau dieses Thema gehen.

Autor/Author: Steffen Wendzel Dipl.-Inform. (FH) Steffen Wendzel (Date/Datum: 080302-19:32, Hits: 2060)

Im Normalfall führt man Kommandos aus und kann anschließend deren Ergebnisse betrachten oder leitet deren Ausgabe vielleicht durch eine Pipe an ein anderes Programm weiter.

Bei der Kommandosubstitution ist das anders. Bei dieser wird ein Unterkommando in Backticks (`-Zeichen) gesetzt. Dies bewirkt, dass die Ausgabe des Kommandos als Parameter für ein anderes Kommando benutzt wird.

Ein einfaches Beispiel

Dieses Beispiel ist etwas unsinnig, für den Einstieg wird es allerdings gute Dienste leisten. Und zwar soll die Ausgabe des ls-Programms benutzt werden, um Dateinamen aufzulisten. Die Auflistung der Dateinamen soll aber das echo-Programm übernehmen, das die Ausgabe von ls als Parameter geliefert bekommen soll.

Dies ist möglich, weil das echo-Programm das, was man ihm als Parameter angibt (einmal abgesehen von einigen speziellen Parametern) auf der Standardausgabe ausgibt. Und da es nun die Ausgabe von ls (also die Dateinamen) als Parameter geliefert bekommt, gibt es diese einfach aus.

Es ist hier zu beachten, dass das ls-Kommando in Backticks geschrieben steht:

$ echo `ls`
a b c d e f

Datum in echo-Ausgabe einbauen

Ein typischer Anwendungsfall für die Kommandosubstitution ist die Ausgabe des Datums innerhalb eines Texts mit echo. Die Syntax ist hierbei gleich:

$ echo "Heute ist der `date`".
Heute ist der So 2. Mär 19:29:06 CET 2008

Ein netteres Beispiel

Richtig nützlich wird die Kommandosubstitution aber erst dann, wenn Variablen (vgl. Teil 4) mit ins Spiel kommen. Variablen können nämlich die Ausgabe einer Kommandosubstitution als Werte annehmen.

So ist es etwa möglich, die Ausgabe von ls als Variablenwert zwischenzuspeichern. Um dies zu verdeutlichen soll nun die Ausgabe von ls zunächst in einer Variablen zwischengespeichert und dann durch echo ausgegeben werden.

$ DATEIEN=`ls`
$ echo $DATEIEN
a b c d e f

Mehr dazu findet man in Einstieg in Linux und in Linux.


____________
Tags: Programming | Shell |
Bookmark and Share


____

Kommentar verfassen / Post a comment:

Name:
Enter this Security Code:


 
Current Books


Einstieg in Linux



Linux. Das umfassende Handbuch