Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

locale - Informationen über die internationale Umgebung abrufen

&pagelevel(4)&pagelevel

(get locale-specific information)


Das Kommando locale schreibt Informationen über die aktuelle internationale Umgebung oder über sonstige öffentliche internationale Umgebungen auf die Standard-Ausgabe. Im Folgenden wird eine öffentliche Umgebung als eine von der Implementierung zur Verfügung gestellte Umgebung angesehen, auf die die Anwendung zugreifen kann.

Wird locale ohne Argumente aufgerufen, fasst es die aktuelle internationale Umgebung für jede Umgebungskategorie so zusammen, wie durch die Einstellungen der Umgebungsvariablen festgelegt ist.

Wird das Kommando mit Operanden aufgerufen, gibt es die Werte, die den Schlüsselwörtenin den Umgebungskategorien zugeordnet wurden, folgendermaßen aus:

  • Ist ein Schlüsselwortname angegeben, wird dieses Schlüsselwort sowie die Kategorie, die das jeweilige Schlüsselwort enthält, ausgegeben.

  • Ist ein Kategoriename angegeben, werden diese Kategorie sowie alle in ihr enthaltenen Schlüsselwörter ausgegeben.


Syntax


Format 1:locale[ -a| -m]
Format 2:locale[ -ck] name...

Optionen

-a

Gibt Informationen über alle verfügbaren öffentlichen internationalen Umgebungen aus. Die verfügbaren internationalen Umgebungen schließen POSIX ein.

-c

Gibt die Namen der ausgewählten Umgebungskategorien aus (siehe Abschnitt „Standard-Ausgabe (stdout)“).
Die Option -c verbessert die Lesbarkeit, wenn mehrere Kategorien ausgewählt sind (beispielsweise über mehrere Schlüsselwortnamen oder über einen Kategorienamen). Diese Option ist sowohl mit als auch ohne Angabe der Option -k gültig.

-k

Gibt die Namen und Werte der ausgewählten Schlüsselwörter aus.

-m

Gibt die Namen der Zeichentabellen aus.

name

Der Name einer Umgebungskategorie (siehe localedef), der Name eines Schlüsselworts in einer Umgebungskategorie oder der reservierte Name charmap. Die angegebene Kategorie oder das angegebene Schlüsselwort wird für die Ausgabe ausgewählt. Kategorie- und Schlüsselwortnamen können als Operanden name in beliebiger Reihenfolge angegeben werden.

Internationale Umgebung

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

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.

Datei

Standard-Ausgabe (stdout)

Wenn locale ohne Optionen oder Operanden aufgerufen wird, werden die Namen und Werte der Umgebungsvariablen LANG und LC_* auf die Standard-Ausgabe geschrieben. Hierbei wird für jede Variable eine Zeile verwendet, LANG wird zuerst ausgegeben. Nur Variablen, die in der Umgebung gesetzt sind und von LC_ALL nicht überschrieben werden, werden im folgenden Format ausgegeben:

"%s=%s\n", variable_name, value

Die Namen der Variablen LC_*, die nicht in der Umgebung gesetzt sind oder von der Variablen LC_ALL überschrieben werden, werden im folgenden Format ausgegeben:

"%s=\"%s\"\n", variable_name, implied_value

implied_value ist der Name der internationalen Umgebung, die von der Implementierung auf der Grundlage der Werte in LANG und LC_ALL für diese Kategorie ausgewählt wurde.

Die Werte value und implied_value werden in Anführungszeichen gesetzt, damit sie zu einem späteren Zeitpunkt wieder als Eingabe verwendet werden können. value wird dabei nicht in doppelte Anführungszeichen gesetzt (zur Unterscheidung von implied_value, der immer in doppelte Anführungszeichen gesetzt wird).

Die Variable LC_ALL wird als letzte ausgegeben. Hierbei wird das erste oben aufgeführte Format verwendet. Ist diese Variable nicht gesetzt, wird sie folgendermaßen ausgegeben:

"LC_ALL=\n"


Bei Angabe von Argumenten gilt Folgendes:

  1. Wenn die Option -a angegeben ist, werden die Namen aller öffentlichen internationalen Umgebungen im folgenden Format ausgegeben:

    "%s\n", locale_name

  2. Wenn die Option -c angegeben ist, werden die Namen aller ausgewählten Kategorien im folgenden Format ausgegeben:

    "%s\n", category_name

    Wenn auch Schlüsselwörter ausgewählt wurden, werden diese unmittelbar nach der zugehörigen Kategorie ausgegeben.

    Ist die Option -c nicht angegeben, werden die Kategorienamen nicht ausgegeben, sondern nur die Schlüsselwörter.

  3. Wenn die Option -k angegeben ist, werden die Namen und Werte der ausgewählten Schlüsselwörter ausgegeben. Ist der Wert nicht numerisch, wird er im folgenden Format ausgegeben:

    "%s=\"%s=\"\n", keyword_name, keyword_value

    Bei dem Schlüsselwort charmap wird der Name der Zeichentabelle ausgegeben, falls über die Option localedef -f bei der Erstellung der internationalen Umgebung eine Zeichentabelle angegeben wurde. Hierbei wird das Wort charmap als keyword_name verwendet.

    Numerische Werte werden in einem der folgenden Formate ausgegeben:

    "%s=%d\n", keyword_name, keyword_value 
    "%s=%c%o\n", keyword_name, escape_character, keyword_value
    "%s=%cx%x\n", keyword_name, escape_character, keyword_value
    

    Hierbei ist escape_character das vom Schlüsselwort escape_char in der aktuellen internationalen Umgebung definierte Zeichen. Standardmäßig wird der Backslash \ als escape_character verwendet.

    Zusammengesetzte Schlüsselwortwerte (Listeneinträge) werden in der Ausgabe durch Semikolons getrennt. Enthalten Schlüsselwortwerte Semikolons, doppelte Anführungszeichen, Gegenschrägstriche und/oder Steuerzeichen, werden diese Zeichen durch Voranstellen des Escape-Zeichens entwertet.

  4. Ist die Option -k nicht angegeben, werden die Werte aller ausgewählten Schlüsselwörter im folgenden Format ausgegeben:

    "%s\n", keyword_value

    Bei dem Schlüsselwort charmap wird der Name der Zeichentabelle ausgegeben (falls vorhanden).

  5. Wenn die Option -m angegeben ist, wird eine Liste aller verfügbaren Zeichentabellen im folgenden Format ausgegeben:

    "%s\n", charmap

    Die Ausgabe kann als Argument für die Option -f von localedef verwendet werden.

Endestatus  

0Alle angeforderten Informationen wurden gefunden und ausgegeben.
>0Ein Fehler ist aufgetreten.

Beispiel

In den Beispielen wird von der folgenden internationalen Umgebung ausgegangen:

LANG=locale_x

LC_COLLATE=locale_Y

Das Kommando locale hätte folgende Ausgabe:

LANG=locale_x 
LC_CTYPE="locale_x" 
LC_COLLATE=locale_Y 
LC_TIME="locale_x" 
LC_NUMERIC="locale_x" 
LC_MONETARY="locale_x" 
LC_MESSAGES="locale_x" 
LC_ALL=

Das Kommando
LC_ALL=POSIX locale -ck decimal_point

würde folgende Ausgabe erzeugen:

LC_NUMERIC

decimal_point="."

Das folgende Kommando zeigt eine Anwendung von locale, mit der festgestellt werden kann, ob eine vom Benutzer eingegebene Antwort eine Ja-Antwort (bestätigend) ist:

if printf "%s\n" "$response" | grep -Eq "$(locale yesexpr)" 
then 
      affirmative processing goes here 
else 
      non-affirmative processing goes here 
fi

Siehe auch

localedef