UnixTools01 06

From
Revision as of 11:58, 25 November 2024 by Jpr (talk | contribs) (Created page with "= Wildcards = Bevor wir uns mit Wildcards beschäftigen, lernen wir zunächst das Kommmando echo kennen. Das Kommando '''echo''' sieht sich alle Argumente an, ud gibt sie wieder aus, alle in einer Zeile. Hier wird das Kommando '''echo''' mit genau einem Argument aufgerufen $ echo Eins Eins Hier wird das Kommando '''echo''' mit 3 Argumenten aufgerufen $ echo Eins Zwei Drei Eins Zwei Drei Wie wir sehen, gibt '''echo''' alle Argumente aus. Das wird nützlich, weil...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Wildcards

Bevor wir uns mit Wildcards beschäftigen, lernen wir zunächst das Kommmando echo kennen. Das Kommando echo sieht sich alle Argumente an, ud gibt sie wieder aus, alle in einer Zeile.

Hier wird das Kommando echo mit genau einem Argument aufgerufen

$ echo Eins
Eins


Hier wird das Kommando echo mit 3 Argumenten aufgerufen

$ echo Eins Zwei Drei
Eins Zwei Drei

Wie wir sehen, gibt echo alle Argumente aus. Das wird nützlich, weil wir als nächstes Wildcards benutzen werden, die die Shell (als Service für uns) in ein oder mehrere Argumente verwandelt, bevor sie das Kommando abarbeitet. Wollen wir sehen, durch was ie Shell unsere Wildcards ersetzt hat, knnen wir dafür das Kommando echo benutzen

Beispiel

$ ls -l
foo.txt
bar.txt
file.jpg
picture.jpg
$ echo *.txt
foo.txt bar.txt

Das Programm echo bekommt die Wildcard *.txt nie zu sehen. Stattdessen ersetzt es die Shell durch (in diesem Fall 2) Dateinamen, die auf dieses Muster passen. Würde nur ein Dateiname auf das Muster passern, würde die Shell die Wildcard nur durch ein Argument ersetzen. Würden 1000 Dateinamen auf das Muster ersetzen, würde die Shell die Wildcard durch diese 1000 Argumente ersetzen. Für das Programm sieht es so aus, als ob wir die (in diesem Falll 1000) Atrgumente selbst in die Kommandozeile eingetragen hätten.