Clarified some things that seemed unclear.

Altered references to "a startup file" to "startup files".
Added detail to a reference to the bash info page. Tweaked
description of mafunctions caused by invalid locales. Clarified
descripton of extended ASCII characters. Every byte has the
high-order bit *set*; in extended ASCII, that bit is *on*.
This commit is contained in:
David Bryant 2022-12-31 11:51:56 -06:00
parent dfb8516c83
commit d8ec0ed3f6

View File

@ -16,10 +16,10 @@
<para>The shell program <command>/bin/bash</command> (hereafter referred to <para>The shell program <command>/bin/bash</command> (hereafter referred to
as <quote>the shell</quote>) uses a collection of startup files to help as <quote>the shell</quote>) uses a collection of startup files to help
create an environment to run in. Each file has a specific use and may affect create the environment to run in. Each file has a specific use and may affect
login and interactive environments differently. The files in the <filename login and interactive environments differently. The files in the <filename
class="directory">/etc</filename> directory provide global settings. If an class="directory">/etc</filename> directory provide global settings. If
equivalent file exists in the home directory, it may override the global equivalent files exist in the home directory, they may override the global
settings.</para> settings.</para>
<para>An interactive login shell is started after a successful login, using <para>An interactive login shell is started after a successful login, using
@ -30,8 +30,9 @@
because it is processing a script and not waiting for user input between because it is processing a script and not waiting for user input between
commands.</para> commands.</para>
<para>For more information, see <command>info bash</command> under the <para>For more information, see the <emphasis>Bash Startup Files</emphasis> and
<emphasis>Bash Startup Files and Interactive Shells</emphasis> section.</para> <emphasis>Interactive Shells</emphasis> sections in the <emphasis>Bash
Features</emphasis> chapter of the Bash info pages (<command>info bash</command>).</para>
<para>The files <filename>/etc/profile</filename> and <para>The files <filename>/etc/profile</filename> and
<filename>~/.bash_profile</filename> are read when the shell is <filename>~/.bash_profile</filename> are read when the shell is
@ -91,8 +92,8 @@
<screen><computeroutput>ISO-8859-1</computeroutput></screen> <screen><computeroutput>ISO-8859-1</computeroutput></screen>
<para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>. <para>This results in a final locale setting of <quote>en_GB.ISO-8859-1</quote>.
It is important that the locale found using the heuristic above is tested prior It is important that the locale found using the heuristic above is tested before
to it being added to the Bash startup files:</para> it is added to the Bash startup files:</para>
<screen role="nodump"><userinput>LC_ALL=&lt;locale name&gt; locale language <screen role="nodump"><userinput>LC_ALL=&lt;locale name&gt; locale language
LC_ALL=&lt;locale name&gt; locale charmap LC_ALL=&lt;locale name&gt; locale charmap
@ -129,9 +130,9 @@ LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
For example, one would have to change "de_DE.ISO-8859-15@euro" to For example, one would have to change "de_DE.ISO-8859-15@euro" to
"de_DE@euro" in order to get this locale recognized by Xlib.</para> "de_DE@euro" in order to get this locale recognized by Xlib.</para>
--> -->
<para>Other packages can also function incorrectly (but may not necessarily <para>Other packages may also function incorrectly (but will not necessarily
display any error messages) if the locale name does not meet their expectations. display any error messages) if the locale name does not meet their expectations.
In those cases, investigating how other Linux distributions support your locale In such cases, investigating how other Linux distributions support your locale
might provide some useful information.</para> might provide some useful information.</para>
<para>Once the proper locale settings have been determined, create the <para>Once the proper locale settings have been determined, create the
@ -147,16 +148,16 @@ EOF</userinput></screen>
<para>The <quote>C</quote> (default) and <quote>en_US.utf8</quote> (the recommended <para>The <quote>C</quote> (default) and <quote>en_US.utf8</quote> (the recommended
one for United States English users) locales are different. <quote>C</quote> one for United States English users) locales are different. <quote>C</quote>
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set uses the US-ASCII 7-bit character set, and treats bytes with the high-order bit set
as invalid characters. That's why, e.g., the <command>ls</command> command <quote>on</quote> as invalid characters. That's why, e.g., the <command>ls</command> command
substitutes them with question marks in that locale. Also, an attempt to send displays them as question marks in that locale. Also, an attempt to send
mail with such characters from Mutt or Pine results in non-RFC-conforming mail with such characters from Mutt or Pine results in non-RFC-conforming
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
8-bit</quote>). So you can use the <quote>C</quote> locale only if you are sure that 8-bit</quote>). So you can only use the <quote>C</quote> locale if you are sure
you will never need 8-bit characters.</para> you will never need 8-bit characters.</para>
<para>UTF-8 based locales are not supported well by some programs. <para>UTF-8 based locales are not supported well by some programs.
Work is in progress to document and, if possible, fix such problems, see Work is in progress to document and, if possible, fix such problems. See
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para> <ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
</sect1> </sect1>