Login Form

wrohr.eu - Start

Shell Programmierung Teil1

Multithumb found errors on this page:

There was a problem loading image /var/www/ldapcustomers/27927-27927/www/htdocs/../images/stories/shell/shell-1.png
There was a problem loading image /var/www/ldapcustomers/27927-27927/www/htdocs/../images/stories/shell/shell-2.png
There was a problem loading image /var/www/ldapcustomers/27927-27927/www/htdocs/../images/stories/shell/shell-3.png

Von Einsteigern gefürchtet, von Profis geliebt, die Kommandoshell. Die Shell ist ein Programm, mit dessen Hilfe das System die Benutzerbefehle verstehen kann. Aus diesem Grund wird die Shell auch oft als Befehls- oder Kommandointerpreter bezeichnet. Vielen Bekannt dürfte die Shell aus der Windows Zeit sein, dort wurde sie harmlos "Dos Eingabeaufforderung" genannt.

Die Shell ist jedoch unter Linux / Unix ein mächtiges Werkzeug, die dem Anwender nahezu alle Möglichkeiten ermöglicht. Jedoch auch für die Shell gibt es unterschiedliche Versionen, je nach persönlichen Geschmack, bzw. Umfang der (Linux) Distribution.

Die Shell ist ein Interpreter, der Kommandos entsprechend seiner eigenen Syntax interaktiv oder selbständig ausführt. Was nun im Folgenden als "Shell" bezeichnet wird, ist eigentlich nur ein Metaprogramm dessen Hauptaufgabe es ist, weitere Programme zu laden. Die Shell stellt damit die Schnittstelle zwischen Benutzer und Betriebssystem dar. In der Linux / UNIX-Welt hat sie den Status eines Benutzerprogramms und kann deshalb nach Belieben ausgetauscht werden .

Zur Einführung sollen hier nur einige Shell Varianten aufgeführt werden:

Einfach-Shells:

    Die Bourne- oder Standard-Shell (sh) ist die kompakteste und einfachste Form. Sie bietet schon Mechanismen wie die Umlenkung der Ein- oder Ausgaben, Wildcards zur Abkürzung von Dateinamen, Shell-Variablen und einen Satz interner Befehle zum Schreiben von Shell-Prozeduren. Neuere Versionen beherrschen auch das Job-Controlling. Für die Entwicklung von Shell-Skripten sollte man sich auf diese Shell beschränken, da sie auf praktisch allen Systemen zur Verfügung steht. So bleiben die Skripte portabel.
    Die Korn-Shell (ksh), eine Weiterentwicklung der Bourne-Shell, erlaubt das Editieren in der Befehlszeile. Außerdem gibt es hier History-Funktionen um auf zurückliegende Befehle zurückgreifen zu können, eine Ganzzahl-Arithmetik, verbesserte Möglichkeiten zur Mustererkennung, Aliase und das Job-Controlling. Ein Alias ist dabei eine Abkürzung für einen Befehl. Beispielsweise kann man das häufig benutzte ls -la einfach durch la ersetzen. Unter Job-Controlling versteht man einen Mechanismus, mit dessen Hilfe der Benutzer die Ausführung von Prozessen selektiv stoppen oder fortsetzen kann.
    Die C-Shell (csh) bietet ähnliche Annehmlichkeiten wie die Korn-Shell, lehnt sich aber in der Syntax sehr stark an die Programmiersprache C an. Sie sollte nach Möglichkeit nicht zur Shell-Programmierung benutzt werden, da sie an vielen Stellen nicht so reagiert, wie man es erwarten sollte.
Komfort-Shells:
    Die Bourne-Again-Shell (bash) ist voll abwärtskompatibel zur sh, bietet aber von allen Shells die komfortabelsten Funktionen für das interaktive Arbeiten. Da die Bash ein GNU-Produkt ist, ist sie die Standard-Shell auf allen Linux-Systemen. Sie steht aber auch auf den meisten anderen Unixen zur Verfügung.
    Die T-C-Shell(tcsh) verhält sich zur C-Shell wie die Bourne-Again-Shell zur Standard-Shell. Sie ist voll kompatibel, bietet aber zusätzliche Komfort-Funktionen.
    Die Stand-Alone-Shell (sash) ist vor allem nützlich für die System-Recovery. Sie kann gegen statische Bibliotheken gelinkt werden und beinhaltet bereits (teilweise vereinfachte) Formen von Standard-Systemkommandos. Kann man also, nach einem System-Crash, eine statisch gelinkte sash erreichen, ist es oft möglich, mit ihrer Hilfe das System wiederherzustellen.

So, das war eine Menge Theorie. Um einmal selbst einen Versuch auf oder in der Shell zu starten, öffent man unter Linux (je nachdem ob Gnome, KDE oder ein anderer Desktop verwendet wird) ein Terminal (Unter Ubuntu meist in der Gruppe Zubehör)

shell-1.png Je nach Konfiguration kann die Shell schwarze Schrift auf weisen Hintergrund oder auch umgekehrt darstellen. Natürlich ist auch jede andere Farbkombination möglich. shell-2.png


Lust auf ein kleines Experiment ? Dann einfach ein Terminal öffnen und folgendes Eingeben:

echo "Das ist die Kommandoshell" und Enter drücken shell-3.png
Der Text Das ist die Kommandoshell" wird nun ausgegeben


Das war ein sehr einfaches Beispiel, mit dem die Textausgabe auf der Kommandoshell demonstriert werden kann. Alle Befehle die in die Shell eingetippt werden, kann man auch in einer einfachen Textdatei abspeichern und dann immer wieder ausführen. Mir jedem beliebigen Editor, zb. Gedit oder Kwrite können solche Skripte erstellt und abgespeicher werden. Dann muss die Datei, nennen wir sie "meinskript.sh" aber auch ausführbar gemacht werden. Dazu dient in diesem Fall der Befehl chmod +x meinskript.sh Nun darf der Benutzer, der das Skript erstellt hat, auch die Datei (Skript) ausführen und auf der Shell aufrufen.

Weitere Infos:
Die Bourne-Shell | Einführung in die Shell Programmierung




Kommentar schreiben

Kommentare geben die Meinung des Lesers wieder.


Sicherheitscode
Aktualisieren

Kommentare

  • Hypryde Linux

    Gerald 22.05.2012 18:05
    schau-schau, es funktioniert sogar. Aber ob es einen praktischen Zweck erfüllt bleibt fraglich.Wenn man ...

    Weiterlesen...

     
  • Schickes Smartphone

    Klaus E. 18.05.2012 21:44
    Textil, Elektronic, egal. Hautpsache billig. Und die Politiker der EU sehen dabei zu, den so halten sie ...

    Weiterlesen...

     
  • Schickes Smartphone

    Meister 17.05.2012 08:20
    Erstaunlich, daß wir in Europa nicht in der Lage sind, solche Geräte selber zu produzieren. Bei Autos ...

    Weiterlesen...

     
  • URA auch für Onlinespeicher

    Meister 17.05.2012 08:12
    schön langsam wird der Computer zum Geldeinwurfauto maten.

    Weiterlesen...

     
  • Schickes Smartphone

    Georg 16.05.2012 22:34
    Das gilt aber dann für alle Elektronikgerät e, ob aus China oder Indien.

    Weiterlesen...

- Und ein Impressum gibts auch !