source: chapter07/profile.xml@ f67f5cf

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since f67f5cf was f67f5cf, checked in by Manuel Canales Esparcia <manuel@…>, 20 years ago

Tags corrections

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3813 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 3.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3 <!ENTITY % general-entities SYSTEM "../general.ent">
4 %general-entities;
5]>
6<sect1 id="ch-scripts-profile">
7<title>The Bash Shell Startup Files</title>
8<?dbhtml filename="profile.html"?>
9
10<indexterm zone="ch-scripts-profile"><primary sortas="e-/etc/profile">/etc/profile</primary></indexterm>
11
12<para>The shell program <command>/bin/bash</command> (hereafter
13referred to as just <quote>the shell</quote>) uses a collection of startup files to
14help create an environment to run in. Each file has a specific use and
15may affect login and interactive environments differently. The files in
16the <filename class="directory">/etc</filename> directory generally provide global
17settings. If an equivalent file exists in your home directory it may
18override the global settings.
19</para>
20
21<para>An interactive login shell is started after a successful login, using
22<command>/bin/login</command>, by reading the
23<filename>/etc/passwd</filename> file. An
24interactive non-login shell is started at the command-line (e.g.,
25<prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
26shell is usually present when a shell script is running. It is non-interactive
27because it is processing a script and not waiting for user input between
28commands.</para>
29
30<para>For more information see <command>info bash</command> --
31<emphasis role="strong">Nodes: Bash Startup Files and Interactive
32Shells.</emphasis></para>
33
34<para>The files <filename>/etc/profile</filename> and
35<filename>~/.bash_profile</filename> are read when the shell is invoked
36as an interactive login shell.</para>
37
38<para>A base <filename>/etc/profile</filename> created below only sets some
39environment variables necessary for Bash to accept keystrokes properly,
40even in non-English locale. Replace <replaceable>[ll]</replaceable> with the
41two-letter code for your language (e.g., <quote>en</quote>) and
42<replaceable>[CC]</replaceable> with the two-letter code for your country
43(e.g., <quote>GB</quote>). Also you may need to specify
44(and this is actually the preferred form) your
45character encoding (e.g. <quote>iso8859-1</quote>) after a dot (so that the result
46is <quote>en_GB.iso8859-1</quote>).
47Issue the following command for more information:</para>
48
49<screen><userinput>man 3 setlocale</userinput></screen>
50
51<para>The list of all locales supported by Glibc can be obtained by running
52the following command:</para>
53
54<screen><userinput>locale -a</userinput></screen>
55
56<para>Now, when you are sure about your locale settings, create the
57<filename>/etc/profile</filename> file:</para>
58
59<screen><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
60# Begin /etc/profile
61# Written for Linux From Scratch
62# by Alexander E. Patrakov
63
64export LC_ALL=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>
65export LANG=<replaceable>[ll]</replaceable>_<replaceable>[CC]</replaceable>
66export INPUTRC=/etc/inputrc
67
68# End /etc/profile
69EOF</userinput></screen>
70
71<para>Setting the keyboard layout,
72the screen font and the locale-related environment variables
73are the only internationalization steps needed to support
74locales that use ordinary single-byte encodings and left-to-right
75writing direction. More complex cases (including UTF-8 based locales)
76require additional steps and additional patches because many applications
77tend to break in such conditions. Because of too little educational
78value for a typical reader, these steps and patches are not included
79in the LFS book and such locales are not supported by LFS in any way.
80</para>
81</sect1>
Note: See TracBrowser for help on using the repository browser.