7.9. Startovací soubory Shellu Bash

Shellový program /bin/bash (dále “shell”) používá k vytvoření pracovního prostředí kolekci startovacích souborů.Každý soubor má specifické použití a může různě ovlivnit přihlášení a interaktivní pracovní prostředí.Soubory v adresáři nabízejí globální volby.Pokud odpovídající soubor existuje v domovském adresáři,přepíše globální nastavení.

Interaktivní přihlašovací shell je spuštěn po úspěšném přihlášení pomocí /bin/login a četby souboru /etc/passwd.Interaktivní nepřihlašovací procesor je spuštěn na příkazové řádce (např.(e.g.)[prompt]$/bin/bash).Neinterktivní shell se obvykle spustí při běhu shellového skriptu.Ne neinteraktivní,protože zpracovává(processing) skript a nečeká na uživatelův vstup mezi příkazy.

Pro více informací se podívejte na info bash v sekci Bash Startup Files and Interactive Shells.

Soubory /etc/profile a ~/.bash_profile jsou čteny když je shell spuštěn(invoked) jako interaktivní přihlašovací shell.

Základ /etc/profile níže nastavuje některé proměnné prostředí potřebné pro podporu nativního jazyka.Jejich správné nastavení se projeví v:

Tento skript také nastavuje proměnnou prostředí INPUTRC,která nastavuje používání souboru /etc/inputrc Bashem a Readline.

Zaměňte [ll] níže s dvou-písmenným kódem požadovaného jazyka(např “en”) a [CC] dvoupísmenným kódem odpovídající země(např. “GB”).[charmap] má být zaměněno s kanonickou znakovou mapou odpovídající zadané lokalizaci.

Seznam všech lokalizací podporovanýcg Glibc můžete obdržet následujícím příkazem:

locale -a

Lokalizace mohou mít hodně synonym,např. “ISO-8859-2” lze také zapsat jako “iso8859-1” a “iso88591”.Některé aplikace nemohou ovládat různá synonyma správně,proto je bezpečnější vybrat kanonické jméno pro jednotlivé lokalizace.K odhalení kanonického jména spusťte následující příkaz,kde [locale name] je výstup získaný z locale -a pro vaší preferovanou lokalizaci(v našem příkladu “en_GB.iso88591”).

LC_ALL=[locale name] locale charmap

Pro lokalizaci “en_GB.iso88591” předchozí příkaz zobrazí:

ISO-8859-2

Toto vypadí ve výsledném nastavení lokalizace jako “en_GB.ISO-8859-2”.

Poté co odhalíte správné nastavení lokalizace,vytvořte soubor /etc/profile:

cat > /etc/profile << "EOF"
# Begin /etc/profile

export LANG=[ll]_[CC].[charmap]
export INPUTRC=/etc/inputrc

# End /etc/profile
EOF
[Note]

Note

C” (výchozí) a “en_US” (doporučené pro Anglické uživatelé ve Spojených státech) je rozdílné.

Nastavení rozložení klávesnice,obrazovkového písma a proměnných prostředí orientovaných na lokalizaci jsou internacionalizační kroky potřebné k podpoře lokalizací,které používají jednobytové kódování a směr psaní z leva do prava.Více komplexnější případy(včetně lokalizací založených na UTF-8) vyžadují další kroky a další patche,protože hodně aplikací má tendenci nepracovat správně za těchto podmínek.Tyto kroky a patche nejsou obsaženy v knize LFS a tyto lokalizace ještě nejsou podporovány LFS.