Skip to main content

Die Shell als Benutzeroberfläche

  • Chapter
Linux

Part of the book series: X.Systems.press ((X.SYSTEMS))

  • 563 Accesses

Zusammenfassung

Der Benutzer kann, soll und will in der Regel nicht direkt mit der Hardware des Rechners oder der unmittelbar darüber liegenden Schicht kommunizieren, da diese Schnittstellen nur aus Programmen über Systemaufrufe zugänglich sind.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 59.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 79.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 119.00
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

  1. Die Eingabe-Vervollständigung erfolgt im Stil des (heute nicht mehr anzutreffenden) Betriebssystems TENEX, daher auch das ›T‹ im Namen.

    Google Scholar 

  2. Für die A-Shell ist auch die Bezeichnung ›Adventure Shell‹ zu finden.

    Google Scholar 

  3. Auf einigen älteren UNIX-Systemen führt rsh allerdings nicht zu einer Remote Shell, sondern zu einer Restricted Shell.

    Google Scholar 

  4. Die aktuelle Version der bash zum Zeitpunkt der Entstehung dieses Textes ist 2.05b.0.

    Google Scholar 

  5. Normalerweise sind die gültigen Trennzeichen white spaces, d. h. das Leerzeichen, das Tabulatorzeichen (<tab>) und das Zeilenende (<neue zeile > = <new line>). Sie können jedoch mit Hilfe der Shell-Variablen IFS neu definiert werden.

    Google Scholar 

  6. Die Shell merkt sich die Position (im Gesamtdateibaum) der gefundenen Datei, um sie beim nächsten Aufruf schneller erreichen zu können. Diese interne Suchliste kann durch das Komman-do hash-r gelöscht und somit ein Neuaufbau veranlasst werden.

    Google Scholar 

  7. Die Konzepte dieser Komfortfunktionen entstammen der C-Shell und der Korn-Shell, wurden aber von den Entwicklern der bash weiter verfeinert und bis und Unüberschaubarkeit erweitert.

    Google Scholar 

  8. Viele dieser Funktionen — insbesondere das Wiederholen und Editieren bereits eingegebener Kommandos — bringen in der Tat eine deutliche Komfort-und Produktivitätssteigerung. Bei einigen Funktionen ist jedoch der Aufwand, sie tatsächlich und schnell zu nutzen, größer als der mögliche Gewinn an Schnelligkeit. Kurz: Dauert die Anwendung einer Komfortfunktion länger als die (unkomfortable) Eingabe eines Kommandos, kann durchaus auch auf die Komfortfunktion verzichtet werden.

    Google Scholar 

  9. Die Bedienung des vi, wie sie auch für das Editieren der Kommandozeile im vi-Modus gilt, ist im Kapitel 5.2 auf Seite 461 beschrieben.

    Google Scholar 

  10. Die Umlenkung ist damit auch nicht mehr in der Argumenteliste enthalten, welche die Shell dem aufgerufenen Programm bzw. Kommando übergibt. Die Umlenkung darf an beliebiger Position auf der Kommandozeile stehen (d.h. vor, innerhalb oder nach der Parameterliste). Aus Gründen der Übersichtlichkeit wird jedoch die Umlenkungs-angabe als letzte Angabe eines Kommandos empfohlen.

    Google Scholar 

  11. Wurde die Shell-Option noclobber (oder die Aufrufoption —C) gesetzt, so wird die Datei nicht überschrieben.

    Google Scholar 

  12. Hintergrundprozesse können damit nicht von der Tastatur lesen, was sehr wichtig ist, um Verwechslungen bei der Eingabe zu verhindern.

    Google Scholar 

  13. Für einen Hintergrundprozess ist ohne explizite Umlenkung nicht die Tastatur, sondern /dev/null die Standardeingabe. Damit wird verhindert, dass der im Hintergrund laufende Prozess dem im Vordergrund laufenden Prozess Eingaben wegnimmt.

    Google Scholar 

  14. Prozesse werden in der Fachsprache auch als jobs bezeichnet; bei der Steuerung von Hintergrundprozessen spricht man daher auch von job control. In der ursprünglichen Bourne-Shell gab es keine job control. Diese wurde erst mit der C-Shell eingeführt, ist seither aber in allen modernen Shells in ähnlicher Form enthalten. Standardmäßig ist die Prozessverwaltung (job control) der bash aktiviert. Sollte das nicht der Fall sein, kann sie mittels ›set-m‹ oder ›set-o monitor‹ eingeschaltet werden.

    Google Scholar 

  15. Die Jobnummer ist nicht systemweit eindeutig, sondern wird von der jeweils startenden Shell vergeben und hochgezählt.

    Google Scholar 

  16. Das Kommando sh ist intern ein Aufruf der bash, führt aber dazu, dass diese sich weitegehend wie die alte Bourne-Shell verhält. Dies ist für die fehlerfreie Abarbeitung älterer oder von UNIX stammender Kommandoprozeduren nützlich.

    Google Scholar 

  17. Eine Zuweisung nach dem Schema ›1=wert‹ ist hier nicht möglich!

    Google Scholar 

  18. Unterbleibt dies, so substituiert die Shell den Wert des einstelligen Parameters und gibt die zweite Stelle einfach mit aus.

    Google Scholar 

  19. Die bash etwa durchläuft bei ihrem Aufruf die Dateien. bush_profile,. bashrc und beim Abmelden die Datei. bash_logout im Verzeichnis $HOME. Eine ausführliche Beschreibung diese Dateien ist auf S. 531 zu finden.

    Google Scholar 

  20. Die geschweiften Klammern zeigen hier keinen optionalen Teil an, sondern sind Teil der Eingabe!

    Google Scholar 

  21. Das Schlüsselwort function ist optional, sollte aber aus Gründen der besseren Lesbarkeit insbe-sondere in längeren Kommandoprozeduren verwendet werden.

    Google Scholar 

  22. Das in der Shell eingebaute Kommando trap ist auch auf Seite 580 beschrieben.

    Google Scholar 

  23. Zu den Signalnummern und ihren symbolischen Namen und Funktion siehe Anhang A.6, Tabelle A. 15 im auf Seite 866.

    Google Scholar 

  24. Hier muss nur nach Nachfolge-Shells der originalen Bourne-Shell gesucht werden; C-Shell-abstammende Shells wie die tcsh durchlaufen die Datei /etc/profile nicht.

    Google Scholar 

  25. UCB steht für ›University of California Berkeley‹ und BSD für ›Berkeley System Distribution‹.

    Google Scholar 

  26. Das ›T‹ der TC-Shell stammt vom Kommandointerpreter des TENEX-Systems, der einige Funktionen bot, die für die TC-Shell übernommen wurden. Das TENEX-System wurde von der Firma Bolt, Beranek & Newman entwickelt, die u. a. auch führend an der Entwicklung des frühen Internet beteiligt war.

    Google Scholar 

  27. /usr/bin/csh ist hier meist ein symbolischer Verweis auf /usr/bin/tcsh.

    Google Scholar 

  28. Anwendung und Kommandos zur Prozesskontrolle funktionieren in bash und tcsh identisch. Siehe hierzu auch Die Steuerung von Hintergrundprozessen (job control) auf Seite 545.

    Google Scholar 

  29. Dies ist normalerweise durch einen Eintrag in der Datei /etc/passwd (letztes Feld) möglich.

    Google Scholar 

  30. Skripten mit Syntax und Kommandos der Bourne-Shell und ihrer Nachfolger (bash, zsh) können von der TC-Shell nicht abgearbeitet werden, was auch umgekehrt gilt.

    Google Scholar 

  31. Per Konvention werden die Variablennamen in der Bourne-und allen davon abstammenden Shells meist in Großbuchstaben, in der C-Shell und ihren Nachfolgern meist in Kleinbuchstaben geschrieben. Dies ist jedoch nicht zwingend.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Gulbins, J., Obermayr, K., Snoopy (2003). Die Shell als Benutzeroberfläche. In: Linux. X.Systems.press. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-55474-2_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-55474-2_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-62464-3

  • Online ISBN: 978-3-642-55474-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics