Unix Shell

Shell Scripts sind nützlich!

Eine gute Übersicht und Einführung zum Thema findet sich da:

Ubuntu Users (Letzter Aufruf: 11.2.2016)

Header

# !/bin/bash 

Gibt an, welcher Interpreter benutz werden soll. Es ginge auch:

#!/bin/perl

Wenn das Programm perl in bin liegt.

Das Ergebnis eines Befehls an einen Befehl übergeben

Im script schreibt man die wie in der Shell. Einfach im Klartext, so werde die dann auch abgearbeitet. Interessant ist, dass Befehle selbst als String an einen Befehl übergeben werden können:

echo $(ls -l)

Die Ausgabe des Beispiels ist das aktuelle Verzeichnis als String, zusammenhängend ohne Linefeed. Letzteren erreicht man mit:

echo „$(ls -l)“

Das Beispiel ist weitgehend sinnfrei, zeigt aber grundsätzlich wie das geht. Nützlicher wäre da schon:

for out in $(ls /Volumes/NO_NAME/DCIM/100NCD90/*.JPG)

Die Schleife arbeitet jeden Verzeichniseintrag ab der dem vorgegebenen Muster entspricht und stellt das Ergebnis (den Dateinamen jeder gefundenen JPG- Datei) in der Variable out bereit. Interessant in diesem Zusammenhang ist: Warum funktioniert das ohne dass der Befehl in Anführungszeichen gesetzt wurde?

 

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s