Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

7.7. I file di avvio della shell Bash‌

Il programma di shell / bin / bash (di seguito denominata "shell") utilizza una raccolta di file di avvio per creare un ambiente in cui eseguire l'esecuzione. Ciascun file ha un uso specifico e può influire in modo diverso sugli ambienti di accesso e interattivi. I file in / Etc directory fornisce le impostazioni globali. Se esiste un file equivalente nella directory home, potrebbe sovrascrivere le impostazioni globali.

Una shell di accesso interattiva viene avviata dopo un accesso riuscito, utilizzando /bin/accedi, leggendo il /etc/passwd file. Una shell interattiva non di accesso viene avviata dalla riga di comando (ad es. [richiesta]$/ bin / bash). Una shell non interattiva è solitamente presente quando è in esecuzione uno script di shell. Non è interattivo perché sta elaborando uno script e non aspetta l'input dell'utente tra i comandi.

Per ulteriori informazioni, vedere informazioni bash sotto il File di avvio di Bash e shell interattive .

I file / etc / profile e ~ / .bash_profile vengono letti quando la shell viene invocata come shell di login interattiva.

La base / etc / profile di seguito imposta alcune variabili di ambiente necessarie per il supporto della lingua nativa. Impostarli correttamente si traduce in:

• L'output dei programmi tradotti nella lingua madre

• Corretta classificazione dei caratteri in lettere, cifre e altre classi. Questo è necessario per bash per accettare correttamente caratteri non ASCII nelle righe di comando in locali non inglesi

• Il corretto ordinamento alfabetico per il paese

• Formato carta predefinito appropriato

• Formattazione corretta dei valori monetari, dell'ora e della data

sostituire sotto con il codice a due lettere della lingua desiderata (es. “en”) e con il codice di due lettere per il paese appropriato (ad es. "GB"). dovrebbe essere sostituito con il charmap canonico per il locale prescelto. Possono essere presenti anche modificatori opzionali come “@euro”.

L'elenco di tutte le versioni locali supportate da Glibc può essere ottenuto eseguendo il seguente comando:


locale -a

locale -a

Charmaps può avere un numero di alias, ad esempio, "ISO-8859-1" è indicato anche come "iso8859-1" e "iso88591". Alcune applicazioni non sono in grado di gestire correttamente i vari sinonimi (ad esempio, richiedono che "UTF-8" sia scritto come "UTF-8", non "utf8"), quindi nella maggior parte dei casi è più sicuro scegliere il nome canonico per una particolare localizzazione. Per determinare il nome canonico, eseguire il comando seguente, dove è l'output dato da locale -a per la tua lingua preferita ("en_GB.iso88591" nel nostro esempio).


LC_ALL = local charmap

LC_ALL = local charmap


Per la locale "en_GB.iso88591", il comando sopra stamperà:


ISO-8859-1

ISO-8859-1

Ciò si traduce in un'impostazione locale finale di "en_GB.ISO-8859-1". È importante che la localizzazione trovata usando l'euristica sopra sia testata prima di essere aggiunta ai file di avvio di Bash:


LC_ALL= lingua locale LC_ALL= locale charmap LC_ALL= locale int_curr_symbol LC_ALL= locale int_prefix

LC_ALL= lingua locale LC_ALL= locale charmap LC_ALL= locale int_curr_symbol LC_ALL= locale int_prefix

I comandi precedenti dovrebbero stampare il nome della lingua, la codifica dei caratteri utilizzata dal locale, la valuta locale e il prefisso da comporre prima del numero di telefono per entrare nel paese. Se uno qualsiasi dei comandi precedenti fallisce con un messaggio simile a quello mostrato di seguito, significa che il tuo locale non è stato installato nel Capitolo 6 o non è supportato dall'installazione predefinita di Glibc.


locale: impossibile impostare LC_* sul locale predefinito: nessun file o directory simile

locale: impossibile impostare LC_* sul locale predefinito: nessun file o directory simile

Se ciò accade, dovresti installare la locale desiderata usando il localdef comando o valuta la possibilità di scegliere un'impostazione locale diversa. Ulteriori istruzioni presuppongono che non ci siano tali messaggi di errore da Glibc.

Alcuni pacchetti oltre a LFS potrebbero anche non supportare il locale scelto. Un esempio è la libreria X (parte del sistema X Window), che emette il seguente messaggio di errore se la localizzazione non corrisponde esattamente a uno dei nomi della mappa dei caratteri nei suoi file interni:


Attenzione: locale non supportato da Xlib, locale impostato su C

Attenzione: locale non supportato da Xlib, locale impostato su C

In molti casi Xlib si aspetta che la mappa dei caratteri sia elencata in notazione maiuscola con trattini canonici. Ad esempio, "ISO-8859-1" anziché "iso88591". È anche possibile trovare una specifica appropriata rimuovendo la parte charmap della specifica locale. Questo può essere verificato eseguendo il local charmap comando in entrambe le versioni locali. Ad esempio, si dovrebbe cambiare "de_DE.ISO-8859-15@euro" in "de_DE@euro" per far riconoscere questa locale da Xlib.

Anche altri pacchetti possono funzionare in modo errato (ma potrebbero non visualizzare necessariamente alcun messaggio di errore) se il nome della locale non soddisfa le loro aspettative. In questi casi, indagare su come altre distribuzioni Linux supportano la tua locale potrebbe fornire alcune informazioni utili.

Una volta determinate le impostazioni locali corrette, creare il / etc / profile file:


cat > /etc/profile << "EOF"

# Inizia /etc/profile


esporta LANG=_ . <@modifiers>


# Fine /etc/profile

EOF

cat > /etc/profile << "EOF"

# Inizia /etc/profile


esporta LANG=_ . <@modifiers>


# Fine /etc/profile

EOF

Le impostazioni internazionali "C" (predefinita) e "en_US" (quella consigliata per gli utenti inglesi degli Stati Uniti) sono diverse. "C" utilizza il set di caratteri US-ASCII a 7 bit e tratta i byte con il set di bit alto come caratteri non validi. Ecco perché, ad esempio, il ls comando li sostituisce con punti interrogativi in ​​quella locale. Inoltre, un tentativo di inviare posta con tali caratteri da Mutt o Pine comporta l'invio di messaggi non conformi a RFC (il set di caratteri nella posta in uscita è indicato come "8 bit sconosciuto"). Quindi puoi usare la localizzazione "C" solo se sei sicuro che non avrai mai bisogno di caratteri a 8 bit.


Le versioni locali basate su UTF-8 non sono supportate bene da alcuni programmi. Sono in corso lavori per documentare e, se possibile, risolvere tali problemi, vedere http://www.linuxfromscratch.org/blfs/view/9.0/introduction/locale-issues.html.


Il miglior sistema operativo cloud computing su OnWorks: