Mailinglist Archive: opensuse (3378 mails)

< Previous Next >
Re: [SLE] FYI: SuSE 7.3 Bash initialization
Hi Keith,
I use a profile.local in /etc to set a few environment variables and
aliases. The issue came up for me when trying to set some env
variables to compile some sample KDE programming exercises.

I think my docs in 7.2pro say to use the profile.local instead of
altering profile. Anyhow, if one exists it would kick in somewhere
near the end of your outline. It still works well for me and I didn't
know about .bashrc at the time.

On Thursday 11 April 2002 08:56, Keith Winston wrote:
> A lot of things happen when you login to SuSE with a bash shell.
> I've tried to document where important things are happening here in
> case you want to know. If not, please ignore :)
> If someone sees a glaring error, please let me know. I realize
> that some of this will likely change in 8.0, but it still may be
> useful.
> Best Regards,
> Keith
> note: The process works a little differently if you
> are running a different shell (zsh, ksh, [t]csh, etc.)
> The files are processed in this order:
> /etc/profile -- global config, initializes the terminal (sets the
> TERM variable and unsets TERMCAP since SuSE uses terminfo instead
> of termcap), sets umask 022, sets initial PATH, MANPATH and a few
> other variables, sources /etc/SuSEconfig/profile, sources all *.sh
> files in /etc/profile.d/, sources /etc/bash.bashrc, sources
> ~/.bashrc. It includes code to prevent ~/.bashrc from running more
> than once depending on whether it has already been executed.
> /etc/SuSEconfig/profile -- this file is generated by SuSEconfig
> from settings in the /etc/rc.config file. It sets language
> environment variables, KDEDIR, QTDIR, PRINTER and WINDOWMANAGER.
> /etc/profile.d/*.sh -- application specific settings such as
>, (search engine used by nautilus),
>, Most of these were not activated for my
> installation.
> /etc/bash.bashrc -- sets some shell functions (startx and
> remount), also sets some aliases (+=pushd, -=popd, o=less, others),
> sets the PS1 variable which controls the format of the prompt, sets
> other variables, if bash 2.0+ it also sources
> /etc/profile.d/complete.bash.
> /etc/profile.d/complete.bash -- sets a couple of shell
> options (shopt), customizes the bash "complete" builtin behavior
> (file completion). SuSE did some serious work to optimize this
> part of the bash configuration.
> ~/.bashrc -- finally, your own bash settings are run. You can
> override anything that has been set previously since this file
> is sourced last (prompt, variables, etc.). The default SuSE
> .bashrc includes code to check for /etc/profile.dos and sources it
> if it exists. It also checks for ~/.alias and sources it if it
> exists.
> /etc/profile.dos -- sets up aliases for DOS commands (del,
> move, copy, etc.)
> ~/.alias -- best place to put your custom alias
> definitions.
> Then, bash looks for additional config files to run...
> For login shells, it looks for these files, in order, and executes
> commands from the FIRST one that exists and is readable.
> ~/.bash_profile -- doesn't exist by default.
> ~/.bash_login -- doesn't exist by default. You can create it and
> put custom commands here that you only want to happen once when you
> first login. If this file exists, the the ~/.profile will not run.
> Normally, this is not a problem since ~/.profile does not do much
> and the ~/.bashrc gets sourced from /etc/profile.
> ~/.profile -- sets LANG variable, sources /etc/profile IF it has
> not already been run (checks PROFILEREAD variable), sources
> ~/.bashrc, runs the fortune program if you uncomment it.
> For interactive non-login shells, bash looks for this file:
> ~/.bashrc -- this is where most custom user settings should go.
> When you logout, it looks for this file:
> ~/.bash_logout -- file doesn't exist by default. If you want to do
> something every time you logout, create this file and load it up.

< Previous Next >
Follow Ups