Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

readonly - Shell-Variablen schützen

&pagelevel(4)&pagelevel

(set read-only attributes for variables)


Das in die POSIX-Shell sh eingebaute Kommando readonly schützt die angegebene Shell-Variable vor Änderungen, d.h. in der aktuellen Shell können Sie dieser Variablen keinen anderen Wert zuweisen. Wenn Sie es doch versuchen, erhalten Sie eine Fehlermeldung.

Dieser Schutz gilt nur in der aktuellen Shell. In einer Subshell dieser Shell ist die Variable nicht mehr geschützt. Das gleiche gilt, wenn Sie die aktuelle Shell beenden. In der aktuellen Shell können Sie jedoch diesen Schutz nicht rückgängig machen.

Wenn Sie readonly ohne Argumente aufrufen, schreibt readonly die Namen der Shell-Variablen,die Sie in der aktuellen Shell geschützt haben, auf die Standard-Ausgabe.


Syntax


Format 1:readonly[ name[=wert]]...
Format 2:readonly -p



Format 1:readonly[ name[=wert]]...


name

Name der Shell-Variablen, die vor Veränderung geschützt werden soll. Sie können beliebig viele Shell-Variablen angeben, jeweils getrennt durch ein Leerzeichen.

name nicht angegeben:
readonly schreibt die Namen aller Shell-Variablen, die in der aktuellen Shell geschützt sind, auf die Standard-Ausgabe. Die Ausgabe hat folgende Form: name=wert

Format 2:readonly -p


readonly schreibt die Namen aller Shell-Variablen, die in der aktuellen Shell geschützt sind, auf die Standard-Ausgabe. Die Ausgabe hat folgende Form:

readonly name=wert
...

Fehler

name: is read only
Diese Fehlermeldung erhalten Sie, wenn Sie versuchen, einer geschützten Shell-Variablen einen Wert zuzuweisen.

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos readonly:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Beispiel

Die Shell-Variable HOME in der aktuellen Shell schützen:

$ readonly HOME
$ readonly
HOME=/USER1
$ sh
$ readonly
$ exit
$ readonly
HOME=/USER1

In der Subshell ist die Variable HOME nicht geschützt.

Siehe auch

export, env, set, typeset