next | next | up | down | Inhalt | Uebungen | Complete | Kommentar

all, section 6.1.

6.1.  Was ist ein Kommando?

Ein Kommando besteht aus einer Folge von Worten.

Zuweisung
ist ein Wort, das aus einem Variablennamen, einem Gleichheitszeichen und dem neuen Wert besteht. Der neue Wert ist beliebiger Text, also auch leer.

Variablenname
beginnt mit Buchstabe (auch Unterstrich) und enthält Buchstaben und Ziffern.
Umlenkung
beginnt mit >, >>, <, oder <<. Davor kann noch eine Ziffer stehen, die den File-Deskriptor bezeichnet, auf den sich die Umlenkung bezieht. Der Rest des Worts oder das nächste Wort ist ein Dateiname, beziehungsweise für << das Endsymbol; dieses Wort entsteht nicht durch Musterersatz.

Zuweisungen am Beginn eines Kommandos gelten nur für die Ausführung des Kommandos allerdings mit leichten Unregelmäßigkeiten:

$ x=x	
$ x=5 3>z date				normales Kommando
Thu Apr 10 13:39:25 MET DST 1997
$ echo $x
x
$ x=4 >z echo hi			eingebautes Kommando
$ echo $x
4
$ x=3 >z				leeres Kommando, normale Zuweisung
$ echo $x
3

Umlenkungen können überall im Kommando stehen. Zuweisungen werden nach dem Kommandonamen nur als solche erkannt, wenn die Option -k gesetzt ist. Allerdings werden Variablen ersetzt bevor die Zuweisungen ausgeführt werden, Zuweisungen werden von rechts nach links ausgeführt und die Zuweisungen gelten bei nicht-eingebauten Kommandos nur für das Kommando:

$ set -k
$ x=9; x=10 \
ed \
x=11 y=12 $x; echo $x
9?
! echo $x
10
^D
9
$ x=9; x=10 echo x=11 $x; echo $x	eingebautes Kommando
9
10
$ a=9; echo $a; a=8 b=$a a=10 b=$a$a; echo $a $b
9
8 10

back | next | up | down | Inhalt | Uebungen | Complete | Kommentar


Created by unroff & hp-tools. © by Hans-Peter Bischof. All Rights Reserved (1997).

Last modified 03/July/97