source: postlfs/config/profile.xml@ 3597eb6

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 3597eb6 was 3597eb6, checked in by Randy McMurchy <randy@…>, 18 years ago

Added the 'User Notes' wiki link to each package page; changed all instances of .[so,a] to .{so,a} (brackets changed to braces); changed all replaceable tags to use angle brackets instead of square brackets to encapsulate the text - commit #7

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5835 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 22.6 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="postlfs-config-profile" xreflabel="The Bash Shell Startup Files">
9 <?dbhtml filename="profile.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
16 <title>The Bash Shell Startup Files</title>
17
18 <para>The shell program <filename>/bin/bash</filename> (hereafter
19 referred to as just "the shell") uses a collection of startup files to
20 help create an environment. Each file has a specific use and
21 may affect login and interactive environments differently. The files in
22 the <filename class="directory">/etc</filename> directory generally provide
23 global settings. If an equivalent file exists in your home directory it may
24 override the global settings.</para>
25
26 <para>An interactive login shell is started after a successful login, using
27 <filename>/bin/login</filename>, by reading the <filename>/etc/passwd</filename>
28 file. This shell invocation normally reads <filename>/etc/profile</filename>
29 and its private equivalent <filename>~/.bash_profile</filename> upon
30 startup.</para>
31
32 <para>An interactive non-login shell is normally started at the command-line
33 using a shell program (e.g.,
34 <prompt>[prompt]$</prompt><command>/bin/bash</command>) or by the
35 <command>/bin/su</command> command. An interactive non-login shell is also
36 started with a terminal program such as <command>xterm</command> or
37 <command>konsole</command> from within a graphical environment. This type of
38 shell invocation normally copies the parent environment and then reads the
39 user's <filename>~/.bashrc</filename> file for additional startup configuration
40 instructions.</para>
41
42 <para>A non-interactive shell is usually present when a shell script is
43 running. It is non-interactive because it is processing a script and not
44 waiting for user input between commands. For these shell invocations, only
45 the environment inherited from the parent shell is used.</para>
46
47 <para> The file <filename>~/.bash_logout</filename> is not used for an
48 invocation of the shell. It is read and executed when a user exits from an
49 interactive login shell.</para>
50
51 <para>Many distributions use <filename>/etc/bashrc</filename> for system wide
52 initialization of non-login shells. This file is usually called from the
53 user's <filename>~/.bashrc</filename> file and is not built directly into
54 <command>bash</command> itself. This convention is followed in this
55 section.</para>
56
57 <para>For more information see <command>info bash</command> --
58 <emphasis role="strong">Nodes: Bash Startup Files and Interactive
59 Shells</emphasis>.</para>
60
61 <note>
62 <para>Most of the instructions below are used to create files located in
63 the <filename class='directory'>/etc</filename> directory structure which
64 requires you to execute the commands as the
65 <systemitem class='username'>root</systemitem> user. If you elect to create
66 the files in user's home directories instead, you should run the commands
67 as an unprivileged user.</para>
68 </note>
69
70 <sect2 id="etc-profile-profile">
71 <title>/etc/profile</title>
72
73 <indexterm zone="postlfs-config-profile etc-profile-profile">
74 <primary sortas="e-etc-profile">/etc/profile</primary>
75 </indexterm>
76
77 <para>Here is a base <filename>/etc/profile</filename>. This file starts by
78 setting up some helper functions and some basic parameters. It specifies some
79 <command>bash</command> history parameters and, for security purposes,
80 disables keeping a permanent history file for the <systemitem
81 class="username">root</systemitem> user. It also sets a
82 default user prompt. It then calls small, single purpose scripts in the
83 <filename class='directory'>/etc/profile.d</filename> directory to provide most
84 of the initialization.</para>
85
86 <para>For more information on the escape sequences you can use for your prompt
87 (i.e., the <envar>PS1</envar> environment variable) see <command>info
88 bash</command> -- <emphasis role="strong">Node: Printing a
89 Prompt</emphasis>.</para>
90
91<screen role="root"><userinput>cat &gt; /etc/profile &lt;&lt; "EOF"
92<literal># Begin /etc/profile
93# Written for Beyond Linux From Scratch
94# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
95# modifications by Dagmar d'Surreal &lt;rivyqntzne@pbzpnfg.arg&gt;
96
97# System wide environment variables and startup programs.
98
99# System wide aliases and functions should go in /etc/bashrc. Personal
100# environment variables and startup programs should go into
101# ~/.bash_profile. Personal aliases and functions should go into
102# ~/.bashrc.
103
104# Functions to help us manage paths. Second argument is the name of the
105# path variable to be modified (default: PATH)
106pathremove () {
107 local IFS=':'
108 local NEWPATH
109 local DIR
110 local PATHVARIABLE=${2:-PATH}
111 for DIR in ${!PATHVARIABLE} ; do
112 if [ "$DIR" != "$1" ] ; then
113 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
114 fi
115 done
116 export $PATHVARIABLE="$NEWPATH"
117}
118
119pathprepend () {
120 pathremove $1 $2
121 local PATHVARIABLE=${2:-PATH}
122 export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
123}
124
125pathappend () {
126 pathremove $1 $2
127 local PATHVARIABLE=${2:-PATH}
128 export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
129}
130
131
132# Set the initial path
133export PATH=/bin:/usr/bin
134
135if [ $EUID -eq 0 ] ; then
136 pathappend /sbin:/usr/sbin
137 unset HISTFILE
138fi
139
140# Setup some environment variables.
141export HISTSIZE=1000
142export HISTIGNORE="&amp;:[bf]g:exit"
143#export PS1="[\u@\h \w]\\$ "
144export PS1='\u@\h:\w\$ '
145
146for script in /etc/profile.d/*.sh ; do
147 if [ -r $script ] ; then
148 . $script
149 fi
150done
151
152# Now to clean up
153unset pathremove pathprepend pathappend
154
155# End /etc/profile</literal>
156EOF</userinput></screen>
157
158 <sect3 id="etc-profile.d">
159 <title>The /etc/profile.d Directory</title>
160
161 <indexterm zone="postlfs-config-profile etc-profile.d">
162 <primary sortas="e-etc-profile.d">/etc/profile.d</primary>
163 </indexterm>
164
165 <para>Now create the <filename class='directory'>/etc/profile.d</filename>
166 directory, where the individual initialization scripts are placed:</para>
167
168<screen role="root"><userinput>install --directory --mode=0755 --owner=root --group=root /etc/profile.d</userinput></screen>
169
170 </sect3>
171
172 <sect3 id="etc-profile.d-dircolors.sh">
173 <title>/etc/profile.d/dircolors.sh</title>
174
175 <indexterm zone="postlfs-config-profile etc-profile.d-dircolors.sh">
176 <primary sortas="e-etc-profile.d-dircolors.sh">/etc/profile.d/dircolors.sh</primary>
177 </indexterm>
178
179 <para>This script uses the <filename>~/.dircolors</filename> and
180 <filename>/etc/dircolors</filename> files to control the colors of file names in a
181 directory listing. They control colorized output of things like <command>ls
182 --color</command>. The explanation of how to initialize these files is at the
183 end of this section.</para>
184
185<screen role="root"><userinput>cat &gt; /etc/profile.d/dircolors.sh &lt;&lt; "EOF"
186<literal># Setup for /bin/ls to support color, the alias is in /etc/bashrc.
187if [ -f "/etc/dircolors" ] ; then
188 eval $(dircolors -b /etc/dircolors)
189
190 if [ -f "$HOME/.dircolors" ] ; then
191 eval $(dircolors -b $HOME/.dircolors)
192 fi
193fi
194alias ls='ls --color=auto'</literal>
195EOF</userinput></screen>
196
197 </sect3>
198
199 <sect3 id="extrapaths.sh">
200 <title>/etc/profile.d/extrapaths.sh</title>
201
202 <indexterm zone="postlfs-config-profile extrapaths.sh">
203 <primary sortas="e-etc-profile.d-extrapaths.sh">/etc/profile.d/extrapaths.sh</primary>
204 </indexterm>
205
206 <para>This script adds several useful paths to the <envar>PATH</envar> and
207 <envar>PKG_CONFIG_PATH</envar> environment variables. If you want, you
208 can uncomment the last section to put a dot at the end of your path. This will
209 allow executables in the current working directory to be executed without
210 specifiying a ./, however you are warned that this is generally considered a
211 security hazard.</para>
212
213<screen role="root"><userinput>cat &gt; /etc/profile.d/extrapaths.sh &lt;&lt; "EOF"
214<literal>if [ -d /usr/local/lib/pkgconfig ] ; then
215 pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
216fi
217if [ -d /usr/local/bin ]; then
218 pathprepend /usr/local/bin
219fi
220if [ -d /usr/local/sbin -a $EUID -eq 0 ]; then
221 pathprepend /usr/local/sbin
222fi
223for directory in $(find /opt/*/lib/pkgconfig -type d 2>/dev/null); do
224 pathappend $directory PKG_CONFIG_PATH
225done
226for directory in $(find /opt/*/bin -type d 2>/dev/null); do
227 pathappend $directory
228done
229if [ -d ~/bin ]; then
230 pathprepend ~/bin
231fi
232#if [ $EUID -gt 99 ]; then
233# pathappend .
234#fi</literal>
235EOF</userinput></screen>
236
237 </sect3>
238
239 <sect3 id="readline.sh">
240 <title>/etc/profile.d/readline.sh</title>
241
242 <indexterm zone="postlfs-config-profile readline.sh">
243 <primary sortas="e-etc-profile.d-readline.sh">/etc/profile.d/readline.sh</primary>
244 </indexterm>
245
246 <para>This script sets up the default <filename>inputrc</filename>
247 configuration file. If the user does not have individual settings, it uses the
248 global file.</para>
249
250<screen role="root"><userinput>cat &gt; /etc/profile.d/readline.sh &lt;&lt; "EOF"
251<literal># Setup the INPUTRC environment variable.
252if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ] ; then
253 INPUTRC=/etc/inputrc
254fi
255export INPUTRC</literal>
256EOF</userinput></screen>
257
258 </sect3>
259
260 <!-- TODO: Remove tinker-term.sh when LFS stable has Ncurses-5.5 -->
261
262 <sect3 id="tinker-term.sh">
263 <title>/etc/profile.d/tinker-term.sh</title>
264
265 <indexterm zone="postlfs-config-profile tinker-term.sh">
266 <primary sortas="e-etc-profile.d-tinker-term.sh">/etc/profile.d/tinker-term.sh</primary>
267 </indexterm>
268
269 <para>Some applications need a specific <envar>TERM</envar> setting to
270 support color. Starting with <application>Ncurses</application> version
271 5.5, the <filename>xterm</filename> terminal type contains color
272 capabilities by default. If you have this version or greater, the
273 <filename>tinker-term.sh</filename> script is unnecessary and should not
274 be installed.</para>
275
276<screen role="root"><userinput>cat &gt; /etc/profile.d/tinker-term.sh &lt;&lt; "EOF"
277<literal># This will tinker with the value of TERM in order to convince certain
278# apps that we can, indeed, display color in their window.
279
280if [ -n "$COLORTERM" ]; then
281 export TERM=xterm-color
282fi
283
284if [ "$TERM" = "xterm" ]; then
285 export TERM=xterm-color
286fi</literal>
287EOF</userinput></screen>
288
289 </sect3>
290
291 <sect3 id="umask.sh">
292 <title>/etc/profile.d/umask.sh</title>
293
294 <indexterm zone="postlfs-config-profile umask.sh">
295 <primary sortas="e-etc-profile.d-umask.sh">/etc/profile.d/umask.sh</primary>
296 </indexterm>
297
298 <para>Setting the <command>umask</command> value is important for security.
299 Here the default group write permissions are turned off for system users and when
300 the user name and group name are not the same.</para>
301
302<screen role="root"><userinput>cat &gt; /etc/profile.d/umask.sh &lt;&lt; "EOF"
303<literal># By default we want the umask to get set.
304if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ] ; then
305 umask 002
306else
307 umask 022
308fi</literal>
309EOF</userinput></screen>
310
311 </sect3>
312
313 <sect3 id="X.sh">
314 <title>/etc/profile.d/X.sh</title>
315
316 <indexterm zone="postlfs-config-profile X.sh">
317 <primary sortas="e-etc-profile.d-X.sh">/etc/profile.d/X.sh</primary>
318 </indexterm>
319
320 <para>If <application>X</application> is installed, the <envar>PATH</envar>
321 and <envar>PKG_CONFIG_PATH</envar> variables are also updated.</para>
322
323<screen role="root"><userinput>cat &gt; /etc/profile.d/X.sh &lt;&lt; "EOF"
324<literal>if [ -x /usr/X11R6/bin/X ]; then
325 pathappend /usr/X11R6/bin
326fi
327if [ -d /usr/X11R6/lib/pkgconfig ] ; then
328 pathappend /usr/X11R6/lib/pkgconfig PKG_CONFIG_PATH
329fi</literal>
330EOF</userinput></screen>
331
332 </sect3>
333
334 <sect3 id="extra-prompt.sh">
335 <title>/etc/profile.d/extra-prompt.sh</title>
336
337 <indexterm zone="postlfs-config-profile extra-prompt.sh">
338 <primary sortas="e-etc-profile.d-prompt.sh">/etc/profile.d/extra-prompt.sh</primary>
339 </indexterm>
340
341 <para>This script shows an example of a different way of setting the
342 prompt. The normal variable, <envar>PS1</envar>, is supplemented by
343 <envar>PROMPT_COMMAND</envar>. If set, the value of
344 <envar>PROMPT_COMMAND</envar> is executed as a command prior to issuing
345 each primary prompt. The sequence \e is an ESC character. \a is a
346 BEL character. For a reference on <command>xterm</command> escape
347 sequences, see <ulink
348 url="http://rtfm.etla.org/xterm/ctlseq.html"/>.</para>
349
350<screen role="root"><userinput>cat &gt; /etc/profile.d/extra-prompt.sh &lt;&lt; "EOF"
351<literal>PROMPT_COMMAND='echo -ne "\e[1m${USER}@${HOSTNAME} : ${PWD}\e[0m\a"'
352export PROMPT_COMMAND</literal>
353EOF</userinput></screen>
354
355 <para>The escape sequences above are BOLD, NORMAL, and BEL.</para>
356
357 </sect3>
358
359 <sect3 id="i18n.sh">
360 <title>'/etc/profile.d/i18n.sh'</title>
361
362 <indexterm zone="postlfs-config-profile i18n.sh">
363 <primary sortas="e-etc-profile.d-i18n.sh">/etc/profile.d/i18n.sh</primary>
364 </indexterm>
365
366 <para>This script shows how to set some environment variables necessary for
367 native language support. Setting these variables properly gives you:</para>
368
369 <itemizedlist>
370 <listitem>
371 <para>the output of programs translated into your native language</para>
372 </listitem>
373 <listitem>
374 <para>correct classification of characters into letters, digits and
375 other classes &ndash; this is necessary for <application>Bash</application>
376 to accept keystrokes properly in non-English locales</para>
377 </listitem>
378 <listitem>
379 <para>the alphabetical sorting order correct for your country</para>
380 </listitem>
381 <listitem>
382 <para>proper default paper size</para>
383 </listitem>
384 <listitem>
385 <para>correct formatting of monetary, time and date values</para>
386 </listitem>
387 </itemizedlist>
388
389 <para>Replace <replaceable>&lt;ll&gt;</replaceable> with the two-letter code for
390 your language (e.g., <quote>en</quote>) and
391 <replaceable>&lt;CC&gt;</replaceable> with the two-letter code for your country
392 (e.g., <quote>GB</quote>). Also you may need to specify (and this is actually
393 the preferred form) your character encoding (e.g., <quote>iso8859-1</quote>)
394 after a dot (so that the result is <quote>en_GB.iso8859-1</quote>). Issue the
395 following command for more information:</para>
396
397<screen><userinput>man 3 setlocale</userinput></screen>
398
399 <para>The list of all locales supported by <application>Glibc</application>
400 can be obtained by running the following command:</para>
401
402<screen><userinput>locale -a</userinput></screen>
403
404 <para>After you are sure about your locale settings, create the
405 <filename>/etc/profile.d/i18n.sh</filename> file:</para>
406
407<screen role="root"><userinput>cat &gt; /etc/profile.d/i18n.sh &lt;&lt; "EOF"
408<literal># Set up i18n variables
409export LC_ALL=<replaceable>&lt;ll&gt;</replaceable>_<replaceable>&lt;CC&gt;</replaceable>
410export LANG=<replaceable>&lt;ll&gt;</replaceable>_<replaceable>&lt;CC&gt;</replaceable>
411export G_FILENAME_ENCODING=@locale</literal>
412EOF</userinput></screen>
413
414 <para>The <envar>LC_ALL</envar> variable sets the same value for all locale
415 categories. For better control, you may prefer to set values individually for
416 all categories listed in the output of the <command>locale</command>
417 command.</para>
418
419 <para>The <envar>G_FILENAME_ENCODING</envar> variable tells applications
420 such as <application>Glib</application> and <application>GTK+</application>
421 that filenames are in the default locale encoding and not in UTF-8 as
422 assumed by default.</para>
423
424 </sect3>
425
426 <sect3>
427 <title>Other Initialization Values</title>
428
429 <para>Other initialization can easily be added to the
430 <filename>profile</filename> by adding additional scripts to the
431 <filename class='directory'>/etc/profile.d</filename> directory.</para>
432
433 </sect3>
434
435 </sect2>
436
437 <sect2 id="etc-bashrc-profile">
438 <title>/etc/bashrc</title>
439
440 <indexterm zone="postlfs-config-profile etc-bashrc-profile">
441 <primary sortas="e-etc-bashrc">/etc/bashrc</primary>
442 </indexterm>
443
444 <para>Here is a base <filename>/etc/bashrc</filename>. Comments in the
445 file should explain everything you need.</para>
446
447<screen role="root"><userinput>cat &gt; /etc/bashrc &lt;&lt; "EOF"
448<literal># Begin /etc/bashrc
449# Written for Beyond Linux From Scratch
450# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
451# updated by Bruce Dubbs &lt;bdubbs@linuxfromscratch.org&gt;
452
453# Make sure that the terminal is set up properly for each shell
454
455if [ -f /etc/profile.d/tinker-term.sh ]; then
456 source /etc/profile.d/tinker-term.sh
457fi
458
459# System wide aliases and functions.
460
461# System wide environment variables and startup programs should go into
462# /etc/profile. Personal environment variables and startup programs
463# should go into ~/.bash_profile. Personal aliases and functions should
464# go into ~/.bashrc
465
466# Provides a colored /bin/ls command. Used in conjunction with code in
467# /etc/profile.
468
469alias ls='ls --color=auto'
470
471# Provides prompt for non-login shells, specifically shells started
472# in the X environment. [Review the LFS archive thread titled
473# PS1 Environment Variable for a great case study behind this script
474# addendum.]
475
476#export PS1="[\u@\h \w]\\$ "
477export PS1='\u@\h:\w\$ '
478
479# End /etc/bashrc</literal>
480EOF</userinput></screen>
481
482 </sect2>
483
484 <sect2 id="bash_profile-profile">
485 <title>~/.bash_profile</title>
486
487 <indexterm zone="postlfs-config-profile bash_profile-profile">
488 <primary sortas="e-AA.bash_profile">~/.bash_profile</primary>
489 </indexterm>
490
491 <para>Here is a base <filename>~/.bash_profile</filename>. If you want each
492 new user to have this file automatically, just change the output of
493 the command to <filename>/etc/skel/.bash_profile</filename> and check the
494 permissions after the command is run. You can then copy
495 <filename>/etc/skel/.bash_profile</filename> to the home directories of already
496 existing users, including <systemitem class="username">root</systemitem>,
497 and set the owner and group appropriately.</para>
498
499<screen><userinput>cat &gt; ~/.bash_profile &lt;&lt; "EOF"
500<literal># Begin ~/.bash_profile
501# Written for Beyond Linux From Scratch
502# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
503# updated by Bruce Dubbs &lt;bdubbs@linuxfromscratch.org&gt;
504
505# Personal environment variables and startup programs.
506
507# Personal aliases and functions should go in ~/.bashrc. System wide
508# environment variables and startup programs are in /etc/profile.
509# System wide aliases and functions are in /etc/bashrc.
510
511append () {
512 # First remove the directory
513 local IFS=':'
514 local NEWPATH
515 for DIR in $PATH; do
516 if [ "$DIR" != "$1" ]; then
517 NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
518 fi
519 done
520
521 # Then append the directory
522 export PATH=$NEWPATH:$1
523}
524
525if [ -f "$HOME/.bashrc" ] ; then
526 source $HOME/.bashrc
527fi
528
529if [ -d "$HOME/bin" ] ; then
530 append $HOME/bin
531fi
532
533unset append
534
535# End ~/.bash_profile</literal>
536EOF</userinput></screen>
537
538 </sect2>
539
540 <sect2 id="bashrc-profile">
541 <title>~/.bashrc</title>
542
543 <indexterm zone="postlfs-config-profile bashrc-profile">
544 <primary sortas="e-AA.bashrc">~/.bashrc</primary>
545 </indexterm>
546
547 <para>Here is a base <filename>~/.bashrc</filename>. The comments and
548 instructions for using <filename class="directory">/etc/skel</filename> for
549 <filename>.bash_profile</filename> above also apply here. Only the target file
550 names are different.</para>
551
552<screen><userinput>cat &gt; ~/.bashrc &lt;&lt; "EOF"
553<literal># Begin ~/.bashrc
554# Written for Beyond Linux From Scratch
555# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
556
557# Personal aliases and functions.
558
559# Personal environment variables and startup programs should go in
560# ~/.bash_profile. System wide environment variables and startup
561# programs are in /etc/profile. System wide aliases and functions are
562# in /etc/bashrc.
563
564if [ -f "/etc/bashrc" ] ; then
565 source /etc/bashrc
566fi
567
568# End ~/.bashrc</literal>
569EOF</userinput></screen>
570
571 </sect2>
572
573
574 <sect2 id="bash_logout-profile">
575 <title>~/.bash_logout</title>
576
577 <indexterm zone="postlfs-config-profile bash_logout-profile">
578 <primary sortas="e-AA.bash_logout">~/.bash_logout</primary>
579 </indexterm>
580
581 <para>This is an empty <filename>~/.bash_logout</filename> that can be used as
582 a template. You will notice that the base <filename>~/.bash_logout</filename>
583 does not include a <userinput>clear</userinput> command. This is because the
584 clear is handled in the <filename>/etc/issue</filename> file.</para>
585
586<screen><userinput>cat &gt; ~/.bash_logout &lt;&lt; "EOF"
587<literal># Begin ~/.bash_logout
588# Written for Beyond Linux From Scratch
589# by James Robertson &lt;jameswrobertson@earthlink.net&gt;
590
591# Personal items to perform on logout.
592
593# End ~/.bash_logout</literal>
594EOF</userinput></screen>
595
596 </sect2>
597
598
599 <sect2 id="etc-dircolors-profile">
600 <title>/etc/dircolors</title>
601
602 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
603 <primary sortas="e-etc-dircolors">/etc/dircolors</primary>
604 </indexterm>
605
606 <indexterm zone="postlfs-config-profile etc-dircolors-profile">
607 <primary sortas="e-AA.dircolors">~/.dircolors</primary>
608 </indexterm>
609
610 <para> If you want to use the <filename>dircolors</filename> capability, then
611 run the following command. The <filename class="directory">/etc/skel</filename>
612 setup steps shown above also can be used here to provide a
613 <filename>~/.dircolors</filename> file when a new user is set up. As before,
614 just change the output file name on the following command and assure the
615 permissions, owner, and group are correct on the files created and/or
616 copied.</para>
617
618<screen role="root"><userinput>dircolors -p > /etc/dircolors</userinput></screen>
619
620 <para>If you wish to customize the colors used for different file types, you can
621 edit the <filename>/etc/dircolors</filename> file. The instructions for setting
622 the colors are embedded in the file.</para>
623
624
625 <para>Finally, Ian Macdonald has written an excellent collection of tips and
626 tricks to enhance your shell environment. You can read it online at
627 <ulink url="http://www.caliban.org/bash/index.shtml"/>.</para>
628
629 </sect2>
630
631</sect1>
Note: See TracBrowser for help on using the repository browser.