Springe zum Hauptinhalt

Archiv
next up previous contents
Next: Pipelineverarbeitung Up: Bourne-Shell als Kommando- und Previous: Kommandos

Standard- E/A und Fileumlenkung

  • Shell stellt jedem Programm, das sie aufruft, drei E/A- Verbindungen (Kanäle) bereit:
    • Standardeingabefile (standard input -- stdin)
    • Standardausgabefile (standard output -- stdout)
    • Diagnoseausgabefile (standard error -- stderr)
  • Programme, die ihre E/A über diese logischen Verbindungen erledigen, brauchen sich um das Öffnen bzw. Schließen nicht kümmern

    Beispiel: Funktionen der C-Standardbibliothek:

    getchar(), scanf() $\Rightarrow$ Lesen von stdin
    putchar(), printf() $\Rightarrow$ Schreiben nach stdout
    fprintf() $\Rightarrow$ Schreiben nach stderr
    Beispiele für Programme, die ihre Informationen auf stdout ausgeben:

    $ ls, ps, who, date, echo, cat

    Beispiele für Programme, die von stdin lesen und nach stdout ausgeben:

    $ sh, sort, cat, wc, tr

  • Normalerweise sind diese 3 Standardfiles dem Terminal des betreffenden Nutzers zugeordnet, sie können jedoch auf einfache Weise auf beliebige Files ,,umgelenkt`` werden (i/o redirection):

    Beispiel: für Fileumlenkung

    $ ls >tmpfile
    
    $ wc -l <tmpfile
        11
    $ cat tmpfile
    kap01.tex
    kap02.tex
    kap03.tex
    kap04.tex
    kap05.tex
    kap06.tex
    kap07.tex
    kap08.tex
    kap09.tex
    rahmen.tex
    tmpfile
    $
    
    allgemeine Notation:
    <ifile Lesen ifile
    >ofile Schreiben ofile, falls ofile bereits existierte, so wird es überschrieben
    >>ofile Fortschreiben von ofile


    Problem: cmd <file >file ?!

  • Shell als Kommando:


    File shellproc enthalte Folge von Kommandos


    $ sh <${\it shellproc}$

        ...

  • Bemerkungen:
    • Ausnutzung von zwei Tatsachen
      1.
      Shell ist ,,gewöhnliches`` Programm
      2.
      Shell liest von der Standardeingabe
    • Ablauf: ,,aktuelle`` Shell ruft sich quasi selbst auf (Kopie) und wartet, bis diese neue Shell-Instanz das File shellproc gelesen hat (EOF) und die darin enthaltenen Kommandos ausgeführt worden sind
    • es existieren noch weitere Möglichkeiten zur Ausführung von Shell-Scripts (s. Abschnitt Shell-Scripts)
    • shellproc kann mit dem Editor vi erzeugt werden, hier jedoch Nutzung von cat plus Fileumlenkung (,,primitive Texterfassung``):
      $ cat >shellproc
      ls >tmpfile
      wc -l <tmpfile
      rm tmpfile
      <CRTL-D>
      $
      
    • Es existieren weitere (selten benutzte) Möglichkeiten der Fileumlenkung; den logischen E/A-Kanälen sind sogenannte Filedeskriptoren (fd_nr) zugeordnet, z.B.
        $\Rightarrow$ stdin
      1 $\Rightarrow$ stdout
      2 $\Rightarrow$ stderr
      1.
      Umlenken Ausgabekanal fd_nr nach ofile:

      fd_nr >ofile


      z.B. 2>diagnose $\Rightarrow$ stderr in diagnose umgelenkt


      2.
      Umlenken Eingabekanal fd_nr auf ifile:


      fd_nr <ifile


      3.
      Umlenken Standardausgabe in Ausgabekanal:


      fd_nr >&fd_nr


      4.
      Umlenken Standardeingabe auf Eingabekanal


      fd_nr <&fd_nr


      5.
      Verallgemeinerung:


      ${\it fd\_nr_{1} \gt\&fd\_nr_{2} }$


      ${\it fd\_nr_{1} <\&fd\_nr_{2} }$


      z.B. 2>&1 $\Rightarrow$ Standardfehlerausgabe auf Standardausgabe gemischte Ausgaben


      6.
      stdin, stdout schließen


      >&- bzw. <&-


      7.
      ,,here``-Dokumente


      <<wort    darauf wird später im Zusammenhang mit Shell-Scripts eingegangen.


next up previous contents
Next: Pipelineverarbeitung Up: Bourne-Shell als Kommando- und Previous: Kommandos
  • Eine junge Frau sitzt am Computer.

    Rund um die Uhr die Hausarbeit abschließen

    Einfach dranbleiben: Universitätsbibliothek der TU Chemnitz hat unmittelbar im Anschluss an die „Lange Nacht der aufgeschobenen Hausarbeiten“ am 5. Februar 2026 erstmals noch bis 14. Februar gegen Mitternacht 24/7 geöffnet …

  • Logo vor einer Gebäudeansicht

    TU Chemnitz im Ranking von StudyCheck.de auf Platz 4 der beliebtesten Universitäten in Deutschland

    Ein „StudyCheck Award 2026“ mit dem Zertifikat „Top Universität 2026“ geht dank der sehr positiven Bewertung ihrer Studierenden sowie Absolventinnen und Absolventen an die TU Chemnitz – Zudem ist die TUC aktuell die zweitbeste staatliche Universität im Live-Ranking „Digital Readiness“ …

  • Mehrere Personen spielen Tischtennis.

    Wenn der Deutschkurs in die Werkhalle verlagert wird

    Tischtennisturnier krönte Premiere des Sprach- und Praxisprojekts „Deutsch für Ingenieure“ – Internationale Studierende präsentierten ihre selbstgebauten Schläger und bewiesen dabei ihre neugewonnene Sprachkompetenz …

  • Blick auf ein schiff, das neben einem Gebäude ankert.

    Spurensuche in der Stadt

    Wie Migration Stadtbilder und Lebensgeschichten prägt, zeigt das Deutsche Auswandererhaus in Bremerhaven bis zum 1. März 2026 – Ausstellung „Aufbrüche – Umbrüche“ verknüpft Bremerhaven und Chemnitz in einem Dialog über Wandel, Erinnerung und Identität – Professur Humangeographie mit Schwerpunkt Europäische Migrationsforschung der TU Chemnitz wirkte an der Konzeptentwicklung mit …