Shell-Programmierung

Damit das Shellscript als bash-Script gekennzeichnet wird schreiben wir in die erste Zeile. #!/bin/bash
Kommandos können mit ; abgeschlossen werden. Kommandofolgen werden mit ; getrennt.

Variablen:
$Variablenname
${Variablenname}
    Shellvariable
${#Variablenname}  gibt die Anzahl der Zeichen der Shellvariablen an
$1, $2, ... $9    Parameter, die dem Shellscripts übergeben wurden
$0  Name des Shellscripts
$# Anzahl der Shellparameter
$@  Alle Kommandozeilenparameter

Variablenname=Wert 

Ein- und Ausgabe
read [-p Prompt] [Varname ...]   mit -p kann optional ein Satz ausgegeben werden, es können mehrere Variablen eingelesen werden. (Bsp. read -p "Eingabe zweier Werte:" var1 var2 )
e c h o [Varname ...]  gibt die Variable aus

Bedingung, test
if Bedingung     
then
  Aktion
  Aktion
  ...
else 
  ...

fi

if test ...
if [ ...]                
definiert eine Bedingung ...
z.Bsp.
if [ $1 -eq 20 ];             falls der 1.Parameter = 20
if [ $1 -gt 20 ];              falls der 1.Parameter > 20
if [ $1 -lt 20 ];              falls der 1.Parameter < 20
(analog le (<=), ge(>=), ne (!=))
if  [ "$1" = "UN" ];                 falls $1 gleich UN
if test -f file;                    falls das File file ex.
if test -e datei;                falls die Datei file ex.
if test -d directory;                falls das Verzeichnis directory ex.
Verneinung des Ausdrucks erfolg mit !
if  [ "$1" != "UN"];
if  [ $1 > 2 -a  $1<10 ];      falls 2 < $1 <10, -a  für UND
                                        -o  für ODER

case Variable in                case-Anweisung
  Muster1) Kommando1 ;;
  Muster2) Kommando2 ;;
  Muster3) Kommando3 ;;
  ...
  *) SonstKommando ;;

esac

Schleifen

while [ Ausdruck ]
do
 
Kommandos...
done

for Variable in Liste
do
  Kommandos...
done
Bsp:
#!/bin/bash
for i  in $@            Für alle an das Script übergebenen Parameter
do
  echo $i
done

Shellfunktionen
function Funktionsname()
{
  Kommando1
  ...
}
Bsp:
#!/bin/bash

function zaehle_von_bis()
{
  i= $1< BR> # i bekommt den Wert des ersten Parameters
  while [ $i -le $2 ]
# Solange i kleiner/gleich Parameter2
  do
    echo $i
# Ausgabe der Zahl i
    let i=$i+1 # i wird um 1 erhöht
  done
}

# Das Hauptprogramm

read -p "Startwert: " zahl1
# Startwert einlesen
read -p "Endwert: " zahl2
# Endwert einlesen
zaehle_von_bis $zahl1 $zahl2
# Aufruf der Funktion mit den gelesenen Werten