

Das Problem, die Dateiendungen von mehreren Dateien gleichzeitig zu ändern, also zum Beispiel von .JPG nach .jpg, kann mit “mv” nicht alleine gelöst werden.
Ein Lösungsansatz besteht darin, zunächst die alte Dateinamen-Erweiterung mit Hilfe von basename abzuschneiden, dann einen Dateinamen mit der neuen Endung zu erzeugen und dann sowohl den alten als auch den neuen Namen an mv weiterzureichen.
Das Entfernen der Dateiendung mit basename kenn wir schon. Allerdings gibt basename den abgeschnittenen Namen einfach aus, wo wir ihn nicht weiterverarbeiten können.
Glücklicherweise enthält die Kommandozeile eine Möglichkeit, um die Ausgabe eines Programmes in eine Variable umzuleiten, die dann innerhalb der Kommandozeile weiterverarbeitet werden kann.
Um dies zu erreichen, schließt man den Programmauf, dessen Ausgabe man haben will, in das “linke” Hochkomma ein, das sich auf englischen Tastaturen oben links befindet und nicht mit dem normalen Apostroph-Hochkomma zu verwechseln ist. Den gesamten Hochkomma-Ausdruck weist man dann einer Variablen zu:
> bn=`basename bild.JPG .JPG`
Mit Hilfe von echo kann man sich überzeugen, daß die Variable bn wirklich den abgeschnittenen Dateinamen enthält:
> echo $bn
Übungsaufgabe 5.22.1
Probiert die obigen Beispiele aus.
Übungsaufgabe 5.22.2
Mit Hilfe des Aufrufes ” id -n -u” bekommt Ihr Euren Benutzernamen. Weist die Ausgabe von “id -n -u” der Variable “ich” zu und überprüft Euren Erfolg mit echo.