Konstante
Eine Konstante hat die Form :
[base#]number
base gibt die Basis des Zahlensystems an und kann zwischen
2 und 36 liegen (Default 10).
number ist eine posive Zahl. Für die Ziffern > 9 werden die Buchstaben
des Alphabets verwendet. Nachkommastellen werden abgeschnitten.
Identifier
Ein Identifier kennzeichnet den Namen einer Variablen oder Function.
* Ein name (Identifier) wird gebildet aus
-den Buchstaben a-z , A-Z
-den Ziffer 0-9 und
Das erste Zeichen darf keine Ziffer sein.
Die Namenslänge ist unbegrenzt.
Die bash unterscheidet Klein- und Großbuchstaben
Funktionen werden später im Kapitel detailiert behandelt.
Variable
Eine Variable wird über name angegeben.
Sie wird gesetzt durch: var=name
Sie wird angesprochen durch : $name oder ${name}
Jede Shell kennt Systemvariablen und Benutzervariablen.
Systemvariablen werden von der Shell gesetzt. Der Anwender greift teilweise auf
diese Variablen zu, um bestimmte Informationen zu erhalten.
Sie sollten von ihm aber nicht direkt geändert werden. Eine indirekte Änderung
erfolgt durch Kommandos.
Die Systemvariable PWD enthält den Pfad zum working-directory.
Wenn der Benutzer dieser Variablen einen neuen Wert zuweist
$ PWD=Unsinn
$ print $PWD
Unsinn der produzierte Unsinn wird ausgegeben.
$ cd /etc die Variable behält ihre Funktion
d.h. das Working-Directory wird
$ print $PWD wieder gespeichert und und hier ausgegeben
/etc
unset Variable oder Funktion löschen
unset [-f] name ...
- mit dieser Anweisung werden Variablen und Attribute gelöscht
- wird ein Tabellenname ohne Subscript angegeben, so wird die gesamte Tabelle
gelöscht
- unset kann nicht auf Variablen angewendet werden, die readonly markiert wurden.
- die Option -f darf nur auf Funktionen angewendet werden.
Wenn unset auf eine der nachfolgenden Systemvariablen angewendet wird, so wird
die spezielle Bedeutung dieser Variablen gelöscht, auch wenn sie danach durch set
wieder gesetzt würden:
_(Temporary) ERRNO LINENO MAILCHECK OPTARG OPTIND RANDOM SECONDS TMOUT
Returnvalue:
TRUE wenn alle "name" Variablen oder Funktionen sind
FALSE die Anzahl der "name", die weder Variable noch Funktion waren
export Variable exportieren
export [name[=value] ]
Die angegebenen Namen werden für den Export markiert.
export ist in der Wirkung wie typeset -x
( Ausnahme: in einer Function erzeugt die ksh keine lokale Variable)
Wird export ohne Argumente angegeben, so werden alle Variablen ausgegeben, die das
Attribut export haben. Jede Ausgabe erfolgt in einer separaten Zeile.
readonly Variable
Eine Variable kann vor weiteren Veränderungen geschützt werden, indem sie als readonly
erklärt wird.
readonly [ name[=value] ]
readonly ist in der Wirkung wie typeset -r ( Ausnahme: in einer Function erzeugt
die ksh keine lokale Variable)
Wird readonly ohne Argumente angegeben, so werden alle Variablen ausgegeben,
die das Attribut readonly haben. Jede Ausgabe erfolgt in einer separaten Zeile.