Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

7.7. Fișierele de pornire Bash Shell‌

Programul shell / bin / bash (denumit în continuare „shell”) utilizează o colecție de fișiere de pornire pentru a ajuta la crearea unui mediu în care să ruleze. Fiecare fișier are o utilizare specifică și poate afecta mediile de conectare și interactive în mod diferit. Fișierele din / Etc directorul oferă setări globale. Dacă un fișier echivalent există în directorul principal, acesta poate suprascrie setările globale.

Un shell de conectare interactiv este pornit după o conectare cu succes, folosind /bin/login, prin citirea / Etc / passwd fişier. Un shell interactiv non-login este pornit la linia de comandă (de exemplu, [prompt]$/ bin / bash). Un shell non-interactiv este de obicei prezent atunci când rulează un script shell. Este non-interactiv deoarece procesează un script și nu așteaptă intrarea utilizatorului între comenzi.

Pentru mai multe informații, consultați info bash în temeiul Fișiere de pornire Bash și Shell interactive secţiune.

Fișierele / etc / profile și ~ / .bash_profile sunt citite atunci când shell-ul este invocat ca shell interactiv de conectare.

Baza / etc / profile mai jos stabilește câteva variabile de mediu necesare pentru suportul în limba maternă. Setarea lor corectă are ca rezultat:

• Ieșirea programelor traduse în limba maternă

• Clasificarea corectă a caracterelor în litere, cifre și alte clase. Acest lucru este necesar pentru pocni pentru a accepta corect caractere non-ASCII în liniile de comandă în localizări non-engleze

• Ordinea corectă de sortare alfabetică pentru țară

• Dimensiunea implicită adecvată a hârtiei

• Formatarea corectă a valorilor monetare, orei și datei

Înlocui mai jos cu codul din două litere pentru limba dorită (de exemplu, „en”) și cu codul din două litere pentru țara corespunzătoare (de exemplu, „GB”). ar trebui să fie înlocuită cu harta canonică pentru locația aleasă. Pot fi prezenți și modificatori opționali, cum ar fi „@euro”.

Lista tuturor localităților acceptate de Glibc poate fi obținută rulând următoarea comandă:


locale -a

locale -a

Charmaps-urile pot avea un număr de aliasuri, de exemplu, „ISO-8859-1” este denumit și „iso8859-1” și „iso88591”. Unele aplicații nu pot gestiona corect diferitele sinonime (de exemplu, necesită ca „UTF-8” să fie scris ca „UTF-8”, nu „utf8”), deci este cel mai sigur în majoritatea cazurilor să alegeți numele canonic pentru o anumită locație. Pentru a determina numele canonic, executați următoarea comandă, unde este rezultatul dat de locale -a pentru localitatea preferată („en_GB.iso88591” în exemplul nostru).


LC_ALL = hartă locală

LC_ALL = hartă locală


Pentru localitatea „en_GB.iso88591”, comanda de mai sus va tipări:


ISO-8859-1

ISO-8859-1

Aceasta are ca rezultat o setare locală finală „en_GB.ISO-8859-1”. Este important ca localitatea găsită folosind euristica de mai sus să fie testată înainte de a fi adăugată la fișierele de pornire Bash:


LC_ALL= limba locală LC_ALL= local charmap LC_ALL= local int_curr_symbol LC_ALL= locale int_prefix

LC_ALL= limba locală LC_ALL= local charmap LC_ALL= local int_curr_symbol LC_ALL= locale int_prefix

Comenzile de mai sus ar trebui să imprime numele limbii, codificarea caracterelor utilizate de local, moneda locală și prefixul de format înaintea numărului de telefon pentru a ajunge în țară. Dacă oricare dintre comenzile de mai sus eșuează cu un mesaj similar cu cel afișat mai jos, aceasta înseamnă că localitatea dvs. fie nu a fost instalată în Capitolul 6, fie nu este acceptată de instalarea implicită a Glibc.


locale: Nu se poate seta LC_* la locale implicite: Nu există un astfel de fișier sau director

locale: Nu se poate seta LC_* la locale implicite: Nu există un astfel de fișier sau director

Dacă se întâmplă acest lucru, ar trebui fie să instalați locația dorită folosind localdef comanda sau luați în considerare alegerea unei locații diferite. Instrucțiuni suplimentare presupun că nu există astfel de mesaje de eroare de la Glibc.

Este posibil ca unele pachete dincolo de LFS să nu aibă suport pentru localitatea aleasă. Un exemplu este biblioteca X (parte a sistemului X Window), care emite următorul mesaj de eroare dacă localitatea nu se potrivește exact cu unul dintre numele hărții de caractere din fișierele sale interne:


Avertisment: locale nu este acceptată de Xlib, local setat la C

Avertisment: locale nu este acceptată de Xlib, local setat la C

În mai multe cazuri, Xlib se așteaptă ca harta de caractere să fie listată cu majuscule, cu liniuțe canonice. De exemplu, „ISO-8859-1” mai degrabă decât „iso88591”. De asemenea, este posibil să găsiți o specificație adecvată prin eliminarea părții charmap din specificația locală. Acest lucru poate fi verificat prin rularea programului hartă locală comandă în ambele locale. De exemplu, ar trebui să schimbați „de_DE.ISO-8859-15@euro” cu „de_DE@euro” pentru a obține această localitate recunoscută de Xlib.

Alte pachete pot funcționa, de asemenea, incorect (dar pot să nu afișeze neapărat mesaje de eroare) dacă numele localului nu corespunde așteptărilor lor. În aceste cazuri, investigarea modului în care alte distribuții Linux acceptă localitatea dvs. ar putea oferi câteva informații utile.

Odată ce setările locale adecvate au fost determinate, creați / etc / profile fișier:


cat > /etc/profile << "EOF"

# Începeți /etc/profile


export LANG=_ . <@modifiers>


# Încheiați /etc/profile

EOF

cat > /etc/profile << "EOF"

# Începeți /etc/profile


export LANG=_ . <@modifiers>


# Încheiați /etc/profile

EOF

Localitățile „C” (implicit) și „en_US” (cel recomandat pentru utilizatorii englezi din Statele Unite) sunt diferite. „C” folosește setul de caractere US-ASCII pe 7 biți și tratează octeții cu setul de biți înalt ca caractere nevalide. De aceea, de exemplu, ls comanda le înlocuiește cu semne de întrebare în acea localitate. De asemenea, o încercare de a trimite e-mailuri cu astfel de caractere de la Mutt sau Pine are ca rezultat trimiterea de mesaje neconforme cu RFC (setul de caractere din mesajul trimis este indicat ca „necunoscut pe 8 biți”). Deci, puteți utiliza localitatea „C” numai dacă sunteți sigur că nu veți avea niciodată nevoie de caractere pe 8 biți.


Localurile bazate pe UTF-8 nu sunt bine acceptate de unele programe. Se lucrează pentru a documenta și, dacă este posibil, a remedia astfel de probleme, consultați http://www.linuxfromscratch.org/blfs/view/9.0/introduction/locale-issues.html.


Top OS Cloud Computing la OnWorks: