Shell Programmierung – Basic Tutorial

Im folgenden Tutorial werde ich ein paar Basic Schritte zur Shell Programmierung etwas näher erläutern. Mit Hilfe der Shell Programmierung lassen sich schnell und einfach eigene kleine Hilfsprogramme für den eigenen Bedarf programmieren.

Vorweg sollte erwähnt werden, das die folgenden erstellten Variablen nur der aktuellen Shell bekannt sind.

Der Erste Schritt: Eine Variable in der Shell setzen (es ist darauf zu achten, keine Leerzeichen bei der Variablenzuordnung zu verwenden):

x="Hallo Welt"


Wert verwenden:

echo $x

Shell Variable löschen:

unset x

Alle Shell Variablen anzeigen:

set

Um nun eine erstellte Shell Variable nicht nur als lokale Variable zu erstellen, sondern auch als Umgebungsvariable zu sichern, damit Programme welche aus der Shell aufgerufen werden auf diese Variable zugreifen können, genügt folgender Shell Befehl:

export x

[ad#co-3]

Eine kleine Aufgabe:
Was ergeben folgende Befehle in der Shell?

echo "Inhalt von \$x=$x"
echo "Mein login ist $(whoami)"

Der Umgang mit den Shell Variablen kann nun natürlich beliebig erweitert werden wie folgendes Beispiel zeigen soll:

echo "Ich heiße $(whoami) und es laufen $(ps -ef | grep ^$whoami | wc -l) Prozesse"

Zum Schluss noch ein kleines Shell Programm das beliebig viele Zahlen zusammen addiert.

for x
do
  #Überprüfen ob die Shell Variable $x eine Zahl ist:
  if echo $x | grep "^[0-9]*$" > /dev/null
  then
    :  #Wenn die Variable eine Zahl ist, sind keine weiteren Schritte notwendig
  else
    echo "Alle Argumente müssen Zahlen sein"
    exit 1
  fi
done

summe=0
rechnung=""
for x
do
  if test "$rechnung" == "" #erster Schleifendurchlauf?
  then
    rechnung="$x"
  else
    rechnung="$rechnung + $x"
  fi
  summe=$(expr $summe + $x)
done
echo $rechnung = $summe #Ausgabe des Ergebnisses

Den Code einfach unter summe.sh speichern, und mit

./summe.sh 3 4 5

aufrufen. Die Shell gibt anschließend die Summe der übergebenen Parameter aus.

[ad#co-3]

Ergebnis:

3 + 4 + 5 = 12

Tipp: Sollte summe.sh nicht ausführbar sein, ist

chmod +x summe.sh

wahrscheinlich die Lösung. In der Regel werden neue .sh Scripte nicht mit ausführbaren Rechten abgespeichert.

Viel Spaß beim ausprobieren mit der Shell Programmierung.