Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ environ(5) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cat(1)

date(1)

ed(1)

fmtmsg(1)

login(1)

ls(1)

nice(1)

nohup(1)

sh(1)

sort(1)

time(1)

vi(1)

chrtbl(1M)

colltbl(1M)

mkmsgs(1M)

montbl(1M)

exec(2)

addseverity(3C)

catopen(3C)

ctime(3C)

ctype(3C)

fmtmsg(3C)

getdate(3C)

gettxt(3C)

localeconv(3C)

mbchar(3C)

mktime(3C)

strcoll(3C)

strftime(3C)

strtod(3C)

strxfrm(3C)

getnetpath(3N)

printf(3S)

netconfig(4)

passwd(4)

profile(4)

timezone(4)

environ(5)                                                       environ(5)

NAME
     environ - Benutzer-Umgebung

BESCHREIBUNG
     Wenn ein Prozeß mit der Ausführung beginnt, stellen die exec-Routinen
     ein Feld von Zeichenketten zur Verfügung, das "Umgebung" genannt wird
     [siehe exec(2)]. Konventionen zufolge haben diese Zeichenketten die
     Form Variable=Wert, zum Beispiel PATH=/sbin:/usr/sbin. Diese Umge-
     bungsvariablen ermöglichen, daß die Informationen zur Umgebung eines
     Programms auch Anwendungen zur Verfügung gestellt wird. Die folgenden
     Umgebungsvariablen müssen in der Ziel-Laufzeit-Umgebung gesetzt sein:

     HOME       ist der Name des Login-Verzeichnisses des Benutzers und
                wird vom login(1) der Paßwortdatei gesetzt [siehe
                passwd(4)].

     LANG       ist die Zeichenkette, die verwendet wird, um lokale Infor-
                mationen anzugeben, die Benutzern erlauben, mit verschiede-
                nen nationalen Konventionen zu arbeiten. Die Funktion
                setlocale(3C) verwendet die Umgebungsvariable LANG, wenn
                sie mit "" als locale-Argument aufgerufen wird. LANG wird
                als Standardvereinbarung für die lokale Umgebung verwendet,
                wenn die zugehörige Umgebungsvariable für eine bestimmte
                Kategorie nicht gesetzt ist.

                Wenn zum Beispiel setlocale als

                    setlocale(LCCTYPE, "")

                aufgerufen wird, wird zuerst die Umgebungsvariable LCCTYPE
                abgefragt, um zu sehen, ob sie gesetzt und ungleich Null
                ist. Wenn LCCTYPE nicht gesetzt oder Null ist, überprüft
                setlocale die Umgebungsvariable LANG, um festzustellen, ob
                diese gesetzt und ungleich Null ist. Wenn beide, LANG und
                LCCTYPE, nicht gesetzt oder gleich Null sind, wird die
                standardmäßig eingestellte lokale C-Umgebung verwendet, um
                die Kategorie LCCTYPE zu setzen. Die meisten Kommandos
                rufen als erstes

                    setlocale(LCALL, "")

                auf. Dann kann das Kommando mit verschiedenen nationalen
                Konventionen verwendet werden, indem einfach die passende
                Umgebungsvariable gesetzt wird. Die folgenden Umgebungsva-
                riablen werden unterstützt, um jeder Kategorie von
                setlocale(3C) zu entsprechen:









Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

environ(5)                                                       environ(5)

                LCCOLLATE
                     Diese Kategorie gibt die verwendete Sortierfolge an.
                     Die diesbezüglichen Informationen werden in einer
                     Datenbank gespeichert, die von dem Kommando
                     colltbl(1M) erzeugt wird. Diese Umgebungsvariable
                     beeinflußt strcoll(3C) und strxfrm(3C).

                LCCTYPE
                     Diese Kategorie legt die Klassifikation von Zeichen,
                     Umwandlung von Zeichen und die Größe von Mehrbyte-
                     Zeichen fest. Die diesbezüglichen Informationen werden
                     in einer Datenbank gespeichert, die von dem Kommando
                     chrtbl(1M) erzeugt wird. Die Standardvereinbarung für
                     C entspricht der 7-Bit-Zeichenmenge. Diese Umgebungs-
                     variable wird von ctype(3C), mbchar(3C) und vielen
                     Kommandos verwendet. Zum Beispiel: cat(1), ed(1),
                     ls(1) und vi(1).

                LCMESSAGES
                     Diese Kategorie gibt die Sprache an, die von der
                     Datenbank für Meldungen verwendet wird. Zum Beispiel
                     kann eine Anwendung eine Datenbank mit französischen
                     Meldungen und eine andere mit deutschen Meldungen
                     haben. Datenbanken für Meldungen werden mit dem Komm-
                     mando mkmsgs(1) erzeugt. Diese Umgebungsvariable wird
                     von exstr(1), gettxt(1), gettxt(3C) und srchtxt(1)
                     verwendet.

                LCMONETARY
                     Diese Kategorie spezifiziert die Währungssymbole und
                     Trennzeichen für eine bestimmte Umgebung. Die diesbe-
                     züglichen Informationen werden in einer Datenbank
                     gespeichert, die von dem Kommando montbl(1M) erzeugt
                     wird. Diese Umgebungsvariable wird von localeconv(3C)
                     verwendet.

                LCNUMERIC
                     Diese Kategorie gibt die Trennzeichen für Dezimalstel-
                     len und Tausenderstellen an. Die diesbezüglichen
                     Informationen werden in einer Datenbank gespeichert,
                     die von dem Kommando chrtbl(1M) erzeugt wird. Die
                     Standardvereinbarung für C verwendet . als Trennzei-
                     chen für Dezimalstellen und kein Zeichen für die Tau-
                     senderstellen. Diese Umgebungsvariable wird von
                     localeconv(3C), printf(3S) und strtod(3C) verwendet.









Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

environ(5)                                                       environ(5)

                LCTIME
                     Diese Kategorie spezifiziert Datums- und Zeitformate.
                     Die diesbezüglichen Informationen werden in einer
                     Datenbank gespeichert, die in LCTIME(4) angegeben
                     ist. Die Standardvereinbarung für C entspricht den
                     Datums- und Zeitformaten der USA. Diese Umgebungsva-
                     riable wird von vielen Kommandos und Funktionen ver-
                     wendet. Zum Beispiel: at(1), calendar(1), date(1),
                     strftime(3C) und getdate(3C).

     MSGVERB    steuert, welche Komponenten der Standardformate für Meldun-
                gen fmtmsg auswählt, wenn Meldungen auf stderr ausgegeben
                werden [siehe fmtmsg(1) und fmtmsg(3C)].

     SEVLEVEL  vereinbart Fehlerstufen und verbindet Druckformate mit
                ihnen im Standard-Fehlerformat [siehe addseverity(3C),
                fmtmsg(1) und fmtmsg(3C)].

     NETPATH    ist eine durch Doppelpunkte getrennte Liste von Netzwerkbe-
                zeichnern. Ein Netzwerkbezeichner ist eine Zeichenkette,
                die von der Netzwerkauswahl-Komponente des Systems verwen-
                det wird, um anwendungsspezifische Standardsuchpfade für
                Netzwerke zur Verfügung zu stellen. Ein Netzwerkbezeichner
                muß aus Zeichen ungleich Null bestehen und muß mindestens
                die Länge 1 haben. Es ist keine maximale Länge festgelegt.
                Netzwerkbezeichner werden meistens von dem Systemverwalter
                gewählt. Ein Netzwerkbezeichner ist auch das erste Feld in
                jedem /etc/netconfig-Dateieintrag. NETPATH stellt also eine
                Verbindung zu der Datei /etc/netconfig und die Informatio-
                nen über ein Netzwerk, das in dem Netzwerkeintrag enthalten
                ist, zur Verfügung. /etc/netconfig wird vom Systemverwalter
                gewartet. Die in getnetpath(3N) beschriebenen Bibliotheks-
                routinen greifen auf die Umgebungsvariable NETPATH zu.

     NLSPATH    enthält eine Reihe von Schablonen, die catopen(3C) beim
                Versuch, Meldungskataloge zu lokalisieren, verwendet. Jede
                Schablone besteht aus einem optionalen Präfix, einem oder
                mehreren Ersetzungsfeldern, einem Dateinamen und einem
                optionalen Suffix.

                NLSPATH="/system/nlslib/%N.cat"

                legt fest, daß catopen nach allen Meldungskatalogen in dem
                Verzeichnis /system/nlslib suchen soll, wobei der Name des
                Katalogs aus dem Parameter Name, der von catopen übergeben
                wird, also %N, sowie aus dem Suffix .cat zusammengesetzt
                werden soll.







Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

environ(5)                                                       environ(5)

                Die Ersetzungsfelder bestehen aus einem %, gefolgt von
                einem Schlüsselwort aus einem Buchstaben. Die folgenden
                Schlüsselwörter sind zur Zeit definiert:

                %N   Der Wert des Parameters Name, der an catopen() überge-
                     ben wurde.
                %L   Wert von LANG.
                %l   Sprachelement von LANG.
                %t   Ortselement von LANG.
                %c   Codeliste-Element von LANG.
                %%   Ein einziges %-Zeichen.

                Es wird eine leere Zeichenkette eingesetzt, wenn der ange-
                gebene Wert zur Zeit nicht definiert ist. Die Trennzeichen
                 und . werden in %t- und %c-Ersetzungen nicht eingeschlos-
                sen.

                In NLSPATH definierte Schablonen werden durch Doppelpunkte
                getrennt. Ein führender Doppelpunkt oder zwei benachbarte
                Doppelpunkte :: bedeuten dasselbe wie die Angabe von %N.

                NLSPATH=":%N.cat:/nlslib/%L/%N.cat"

                zeigt catopen an, daß es in Name, Name.cat und
                /nlslib/$LANG/Name.cat nach dem verlangten Meldungskatalog
                suchen soll.

     PATH       Die Folge von Verzeichnis-Präfixen, die sh(1), time(1),
                nice(1), nohup(1), usw. bei der Suche nach einer Datei mit
                einem unvollständigen Pfadnamen verwenden. Die Präfixe wer-
                den durch Doppelpunkte getrennt. login(1) setzt
                PATH=/usr/bin [siehe sh(1)].

     TERM       ist die Art des Terminals, für das die Ausgabe vorbereitet
                werden muß. Diese Informationen werden von Kommandos wie
                vi(1) verwendet, die besondere Fähigkeiten des Terminals
                nutzen.

















Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

environ(5)                                                       environ(5)

     TZ         enthält Informationen über die Zeitzone. Der Inhalt dieser
                Umgebungsvariablen wird von den Funktionen ctime(3C),
                localtime [siehe ctime(3C)], strftime(3C) und mktime(3C)
                verwendet, um die Standard-Zeitzone zu überschreiben. Wenn
                das erste Zeichen von TZ ein Doppelpunkt ist, wird das Ver-
                halten von der Implementierung definiert, sonst hat TZ die
                Form:

                    std offset [dst [offset],[start[/time],end[/time]]]

                std und dst enthalten drei oder mehr Bytes für die Bezeich-
                nung der Standard-Zeitzone (std) und der Sommerzeitzone
                (dst). Nur std ist notwendig. Wenn dst fehlt, erscheint die
                Sommerzeit nicht in dieser Umgebung. Klein- und Großbuch-
                staben sind erlaubt. Alle Zeichen außer einem führenden
                Doppelpunkt, Ziffern, einem Komma, einem Minuszeichen oder
                einem Pluszeichen sind erlaubt.

                offset zeigt den Wert an, der zur Ortszeit addiert werden
                muß, um zur universalen Bezugszeit zu gelangen. Der Offset
                hat folgende Form:

                    hh [:mm [:ss]]

                Die Minuten (mm) und Sekunden (ss) sind optional. Die
                Stunde (hh) ist notwendig und kann aus einer einzelnen Zif-
                fer bestehen. Der offset nach std ist notwendig. Wenn kein
                offset nach dst folgt, wird die Sommerzeit als eine Stunde
                vor der Standardzeit angenommen. Es können eine oder meh-
                rere Ziffern verwendet werden, der Wert wird immer als eine
                Dezimalzahl interpretiert. Die Stunde muß zwischen 0 und 24
                liegen, und die Minuten und Sekunden (soweit angegeben)
                zwischen 0 und 59. Werte außerhalb dieser Bereiche können
                zu unvorhersehbarem Verhalten führen. Wenn ein - am Anfang
                steht, ist die Zeitzone östlich vom Nullmeridian; sonst ist
                sie westlich davon (was auch durch ein optionales + Zeichen
                angezeigt werden kann).

                start/time, end/time zeigen an, wann zur Sommerzeit und
                wann wieder zurück gewechselt werden soll, wobei start/time
                beschreibt, wann der Wechsel von der Standardzeit zur Som-
                merzeit und end/time, wann der Wechsel zurück stattfindet.
                Jedes time-Feld beschreibt, wann der Wechsel vorgenommen
                wird.










Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

environ(5)                                                       environ(5)

                Die Formate von start und end haben eine der folgenden For-
                men:

                Jn      Der Tag n (1 <= n <= 365) nach dem Julianischen
                        Kalender; Tage, die nur in Schaltjahren auftreten,
                        werden nicht gezählt. Also ist jedes Jahr der 28.
                        Februar Tag 59 und der 1. März Tag 60. Es ist
                        unmöglich, sich auf den gelegentlichen 29. Februar
                        zu beziehen.

                n       von Null beginnender Tag (0 <= n <= 365) nach dem
                        Julianischen Kalender; Tage, die nur in Schaltjah-
                        ren auftreten, werden gezählt, und es ist möglich,
                        sich auf den 29. Februar zu beziehen.

                Mm.n.d  Der Tag d (0 <= d <= 6) der Woche n des Monats m
                        des Jahres (1 <= n <= 5, 1 <= m <= 12), wobei Woche
                        5 "der letzte d-Tag im Monat m" bedeutet, der ent-
                        weder in der vierten oder fünften Woche auftreten
                        kann). Woche 1 ist die erste Woche, in der der d-
                        Tag auftritt. Tag 0 ist Sonntag.

                Für start und end werden implementierungsspezifische Stan-
                dardwerte angenommen, wenn diese optionalen Felder nicht
                angegeben werden.

                time hat dasselbe Format wie offset, außer daß kein Vorzei-
                chen (- oder +) erlaubt ist. Der Standard, wenn time nicht
                angegeben ist, ist 02:00:00.

     Weitere Namen können durch das Kommando export und Argumente Name=Wert
     in sh(1) oder durch exec(2) in die Umgebung eingebaut werden. Es ist
     nicht sehr ratsam, mit Shell-Variablen in Konflikte zu geraten, die
     häufig von .profile-Dateien exportiert werden: MAIL, PS1, PS2, IFS
     [siehe profile(4)].

SIEHE AUCH
     cat(1), date(1), ed(1), fmtmsg(1), login(1), ls(1), nice(1), nohup(1),
     sh(1), sort(1), time(1), vi(1), chrtbl(1M), colltbl(1M), mkmsgs(1M),
     montbl(1M), exec(2), addseverity(3C), catopen(3C), ctime(3C),
     ctype(3C), fmtmsg(3C), getdate(3C), gettxt(3C), localeconv(3C),
     mbchar(3C), mktime(3C), strcoll(3C), strftime(3C), strtod(3C),
     strxfrm(3C), getnetpath(3N), printf(3S), LCTIME(4), netconfig(4),
     passwd(4), profile(4), timezone(4).

     Handbuch "Leitfaden für Programmierer: Internationalisierung - Lokali-
     sierung".







Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026