OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

7.7. Die Bash-Shell-Startdateien‌

Das Shell-Programm / bin / bash (im Folgenden als „Shell“ bezeichnet) verwendet eine Sammlung von Startdateien, um die Erstellung einer Umgebung zum Ausführen zu unterstützen. Jede Datei hat einen bestimmten Zweck und kann sich unterschiedlich auf Anmelde- und interaktive Umgebungen auswirken. Die Dateien in der / Etc Verzeichnis bietet globale Einstellungen. Wenn im Home-Verzeichnis eine entsprechende Datei vorhanden ist, kann diese die globalen Einstellungen überschreiben.

Nach erfolgreicher Anmeldung wird eine interaktive Login-Shell mit gestartet /bin/login, durch das Lesen der / etc / passwd Datei. Eine interaktive Shell ohne Anmeldung wird über die Befehlszeile gestartet (z. B. [Eingabeaufforderung]$/ bin / bash). Wenn ein Shell-Skript ausgeführt wird, ist normalerweise eine nicht interaktive Shell vorhanden. Es ist nicht interaktiv, da es ein Skript verarbeitet und nicht auf Benutzereingaben zwischen den Befehlen wartet.

Für weitere Informationen, siehe Info-Bash unter dem Bash-Startdateien und interaktive Shells .

Die Dateien / etc / profile und ~ / .bash_profile werden gelesen, wenn die Shell als interaktive Login-Shell aufgerufen wird.

Die Basis / etc / profile Im Folgenden werden einige Umgebungsvariablen festgelegt, die für die Unterstützung der Muttersprache erforderlich sind. Die richtige Einstellung führt zu Folgendem:

• Die Ausgabe von in die Muttersprache übersetzten Programmen

• Korrekte Klassifizierung von Zeichen in Buchstaben, Ziffern und andere Klassen. Dies ist notwendig für bash um Nicht-ASCII-Zeichen in Befehlszeilen in nicht-englischen Gebietsschemata ordnungsgemäß zu akzeptieren

• Die richtige alphabetische Sortierreihenfolge für das Land

• Geeignetes Standardpapierformat

• Korrekte Formatierung von Währungs-, Zeit- und Datumswerten

Ersetzen unten mit dem Zwei-Buchstaben-Code für die gewünschte Sprache (z. B. „en“) und mit dem zweibuchstabigen Code für das entsprechende Land (z. B. „GB“). sollte durch die kanonische Charmap für das von Ihnen gewählte Gebietsschema ersetzt werden. Optionale Modifikatoren wie „@euro“ können ebenfalls vorhanden sein.

Die Liste aller von Glibc unterstützten Gebietsschemata erhalten Sie, indem Sie den folgenden Befehl ausführen:


Gebietsschema -a

Gebietsschema -a

Charmaps können mehrere Aliase haben, z. B. wird „ISO-8859-1“ auch als „iso8859-1“ und „iso88591“ bezeichnet. Einige Anwendungen können die verschiedenen Synonyme nicht korrekt verarbeiten (z. B. erfordern sie, dass „UTF-8“ als „UTF-8“ und nicht als „utf8“ geschrieben wird). Daher ist es in den meisten Fällen am sichersten, den kanonischen Namen für ein bestimmtes Gebietsschema zu wählen. Um den kanonischen Namen zu ermitteln, führen Sie den folgenden Befehl aus: ist die Ausgabe von Gebietsschema -a für Ihr bevorzugtes Gebietsschema („en_GB.iso88591“ in unserem Beispiel).


LC_ALL = Gebietsschema Charmap

LC_ALL = Gebietsschema Charmap


Für das Gebietsschema „en_GB.iso88591“ gibt der obige Befehl Folgendes aus:


ISO-8859-1

ISO-8859-1

Dies führt zu einer endgültigen Gebietsschemaeinstellung von „en_GB.ISO-8859-1“. Es ist wichtig, dass das mithilfe der oben genannten Heuristik gefundene Gebietsschema getestet wird, bevor es zu den Bash-Startdateien hinzugefügt wird:


LC_ALL= Gebietsschemasprache LC_ALL= Gebietsschema-Charmap LC_ALL= Gebietsschema int_curr_symbol LC_ALL= Gebietsschema int_prefix

LC_ALL= Gebietsschemasprache LC_ALL= Gebietsschema-Charmap LC_ALL= Gebietsschema int_curr_symbol LC_ALL= Gebietsschema int_prefix

Die oben genannten Befehle sollten den Sprachnamen, die vom Gebietsschema verwendete Zeichenkodierung, die lokale Währung und das zu wählende Präfix vor der Telefonnummer ausgeben, um in das Land zu gelangen. Wenn einer der oben genannten Befehle mit einer Meldung wie der unten gezeigten fehlschlägt, bedeutet dies, dass Ihr Gebietsschema entweder nicht in Kapitel 6 installiert wurde oder von der Standardinstallation von Glibc nicht unterstützt wird.


Gebietsschema: LC_* kann nicht auf das Standardgebietsschema festgelegt werden: Keine solche Datei oder kein solches Verzeichnis

Gebietsschema: LC_* kann nicht auf das Standardgebietsschema festgelegt werden: Keine solche Datei oder kein solches Verzeichnis

In diesem Fall sollten Sie entweder das gewünschte Gebietsschema mithilfe von installieren Gebietsschemadef Befehl, oder erwägen Sie die Auswahl eines anderen Gebietsschemas. Weitere Anweisungen gehen davon aus, dass von Glibc keine derartigen Fehlermeldungen vorliegen.

Einige Pakete außerhalb von LFS unterstützen möglicherweise auch nicht das von Ihnen gewählte Gebietsschema. Ein Beispiel ist die X-Bibliothek (Teil des X-Window-Systems), die die folgende Fehlermeldung ausgibt, wenn das Gebietsschema nicht genau mit einem der Zeichentabellennamen in ihren internen Dateien übereinstimmt:


Warnung: Gebietsschema wird von Xlib nicht unterstützt, Gebietsschema ist auf C eingestellt

Warnung: Gebietsschema wird von Xlib nicht unterstützt, Gebietsschema ist auf C eingestellt

In einigen Fällen erwartet Xlib, dass die Zeichentabelle in Großbuchstaben mit kanonischen Bindestrichen aufgeführt wird. Beispielsweise „ISO-8859-1“ statt „iso88591“. Es ist auch möglich, eine geeignete Spezifikation zu finden, indem Sie den Charmap-Teil der Gebietsschemaspezifikation entfernen. Dies kann durch Ausführen von überprüft werden Gebietsschema Charmap Befehl in beiden Gebietsschemas. Beispielsweise müsste man „de_DE.ISO-8859-15@euro“ in „de_DE@euro“ ändern, damit dieses Gebietsschema von Xlib erkannt wird.

Andere Pakete können ebenfalls fehlerhaft funktionieren (zeigen jedoch möglicherweise nicht unbedingt Fehlermeldungen an), wenn der Gebietsschemaname nicht ihren Erwartungen entspricht. In diesen Fällen könnte die Untersuchung, wie andere Linux-Distributionen Ihr Gebietsschema unterstützen, nützliche Informationen liefern.

Sobald die richtigen Gebietsschemaeinstellungen festgelegt wurden, erstellen Sie die / etc / profile Datei:


cat > /etc/profile << „EOF“

# Beginnen Sie /etc/profile


export LANG=_ . <@modifiers>


# /etc/profile beenden

EOF

cat > /etc/profile << „EOF“

# Beginnen Sie /etc/profile


export LANG=_ . <@modifiers>


# /etc/profile beenden

EOF

Die Gebietsschemata „C“ (Standard) und „en_US“ (empfohlen für Benutzer von US-amerikanischem Englisch) sind unterschiedlich. „C“ verwendet den US-ASCII-7-Bit-Zeichensatz und behandelt Bytes mit gesetztem High-Bit als ungültige Zeichen. Deshalb ist z. B. die ls Der Befehl ersetzt sie in diesem Gebietsschema durch Fragezeichen. Außerdem führt der Versuch, E-Mails mit solchen Zeichen von Mutt oder Pine zu senden, dazu, dass nicht RFC-konforme Nachrichten gesendet werden (der Zeichensatz in der ausgehenden E-Mail wird als „unbekanntes 8-Bit“ angezeigt). Daher können Sie das Gebietsschema „C“ nur verwenden, wenn Sie sicher sind, dass Sie niemals 8-Bit-Zeichen benötigen.


UTF-8-basierte Gebietsschemata werden von einigen Programmen nicht gut unterstützt. Es wird daran gearbeitet, solche Probleme zu dokumentieren und, wenn möglich, zu beheben, siehe http://www.linuxfromscratch.org/blfs/view/9.0/introduction/locale-issues.html.


Top OS Cloud Computing bei OnWorks: