Druckversion | ||||||||||
Ohne Shells geht es nicht!Die meisten Computeranwender werden sich von der tristen Konsole verabschiedet und zu einer grafischen Benutzeroberfläche hingewendet haben. Und tatsächlich erleichtert ein ergonomisch durchdachter Aufbau des Desktops in vielen Fällen die Orientierung. Und dennoch behaupte ich: Ohne eine Shell kommt kein heutiges Betriebssystem aus. Stellen Sie sich vor, alle im System installierten Programme fänden ihre Repräsentation innerhalb eines Menüs wieder. Ob Sie zügig durch die 20000 Einträge umfassende Menüstruktur navigieren könnten? Selbst wenn Sie eine sinnvolle Anordnung finden sollten, wie geben Sie beim Programmstart diesem die Optionen mit? Mittels einer sich öffnenden Registerkarte, in der Sie die zwei benötigten Optionen aus den 150 verschiedenen Möglichkeiten markieren? Sie merken schon... der sonst gebräuchliche Programmstart in einer Shell kann in zahlreichen Fällen hinter einer grafischen Maske verborgen werden. Aber es ist schier unmöglich, jede Anwendung mit jeder erdenklichen Option auf diese Weise »benutzerfreundlich« zu gestalten. Sie werden immer wieder auf Situationen treffen, in denen Sie auf eine simple Shell zurück greifen, weil Sie zum einen gar keine andere Möglichkeit haben oder zum anderen einfach effizienter arbeiten können. Shells unter Unix sind Programme. Und Programme sind austauschbar. So sollte die Vielfalt an unter Unix verfügbaren Shells nicht weiter verwundern. Speziell unter Linux hat sich die Bash als »quasi« Standard etabliert und die meisten Anwender werden kaum jemals dazu veranlasst, von ihrer gewohnten Umgebung abzurücken. Aber nicht wenige Linuxer haben ihr Handwerk auf den »großen« Unix-Sytemen erlernt und sind von anno dazumal mit anderen Shells vertraut. Warum also sollten Sie sich der Bash zuwenden? Die in diesem Kapitel ebenso behandelten Tcsh und Ksh (genau genommen der freie Klone pdksh) bringen mindestens gleichwertige Eigenschaften mit, die den Umgang mit dem System so viel komfortabler gestalten. Damit haben wir die »3 Großen« genannt. Die »restlichen« 10-15 Shells sind wenig verbreitet, wenngleich sie auf Grund ihrer Schnelligkeit oder auch ihrer Bescheidenheit hinsichtlich erforderlicher Ressourcen für bestimmte Anwendungszwecke (Realtime-Linux, embedded Linux) besser geeignet sind. Ein Kriterium zum Bevorzugen der einen oder anderen Shell könnte auch die Unterstützung der Programmierung sein. In nicht wenigen Situationen ermöglicht die an die Programmiersprache C angelehnte Tcsh wesentlich effizientere Techniken, um ein gegebenes Problem in ein Programm umzusetzen, als es die recht ähnlichen Bash und Ksh vermögen. So soll auch das Erstellen von Shellskripten ein Gegenstand dieses Kapitels sein, um den Leser für die Feinheiten und Möglichkeiten des Einsatzes von Skripten zu sensibilisieren. Dem Kapitel steht ein allgemeiner Abschnitt voran, der grundsätzliche Konzepte aller Shells behandelt. Dieser sollte immer vor den Ausführungen zu einer konkreten Shell gelesen werden, da auf die dortigen Aussagen im Speziellen nicht erneut eingegangen wird.
Effizient arbeitet man erst, wenn man genau weiß, was man tut. Und das Arbeitsfeld in Unix ist die Shell, weshalb das Verständnis ihrer Funktionsweise das A und O des Administrators und System-Programmierers (u.a.m.) ist. Der Leser muss nicht alle Shells kennen, da er sich früher oder später ohnehin auf eine Benutzerschnittstelle festlegen wird. Aber diese eine sollte er beherrschen. Damit lassen sich die Ziele knapp formulieren:
|
||||||||||
Korrekturen, Hinweise? |