Springe zum Hauptinhalt

Bourne
next up previous contents
Next: set-Kommando Up: Spezielle Probleme und Kommandos Previous: login-Profile

Here-Dokumente


Unter einem ,,here``-Dokument versteht man das temporäre Umlenken der Standardeingabe innerhalb eines Shell-Scripts.

  • Notation
    cmd_name arg1 ... argn <<zeichenkette
           
      ...   $\vert$
           
      ...   > ,,here``-Dokument
           
      ...   $\vert$
           
    zeichenkette      
  • Erläuterung


    <<zeichenkette bedeutet, daß alle nachfolgenden Zeilen bis zu einer Zeile, auf der nur zeichenkette vorkommt, als Standardeingabe für cmd_name betrachtet werden sollen.

  • Beispiel: Funktion subst zur Zeichenkettensubstitution: subst zk_alt zk_neu file
    # globales Ersetzen von <zk_alt> durch <zk_neu>
    # in <file>
    #
    # subst <zk_alt> <zk_neu> <file>
    #
    subst ()
    {
    /bin/ed $3 <<%
    g/$1/s//$2/g
    w
    %
    }
    
    
  • Bemerkung:
    • keine Prüfung der Argumente im Beispiel
    • innerhalb eines ,,here``-Dokuments wird die Kommando- und Variablensubstitution durchgeführt; wenn dies verhindert werden soll, so muß nach den Zeichen << sofort ein Backslash ($\backslash$ ) folgen:


      $<<\backslash$zeichenkette

    • Oft werden ,,here``-Dokumente angewendet, um längere Nachrichten aus eines Shell-Scripts auszugeben.

next up previous contents
Next: set-Kommando Up: Spezielle Probleme und Kommandos Previous: login-Profile