Bash Startup Files
Contents
/etc/profile
cat > /etc/profile << "EOF" # Begin /etc/profile for script in /etc/profile.d/*.sh do source $script done unset script # End /etc/profile EOF
install -d -m755 /etc/profile.d
05-i18n.sh
cat > /etc/profile.d/05-i18n.sh << "EOF" # Begin /etc/profile.d/05-i18n.sh export LANG=[ll]_[CC].[charset] export G_FILENAME_ENCODING=@locale # End /etc/profile.d/05-i18n.sh EOF
10-path.sh
cat > /etc/profile.d/10-path.sh << "EOF" # Begin /etc/profile.d/10-path.sh if [ "$EUID" -eq 0 ]; then export PATH="/sbin:/bin:/usr/sbin:/usr/bin" if [ -d "/usr/local/sbin" ]; then export PATH="$PATH:/usr/local/sbin" fi else export PATH="/bin:/usr/bin" fi if [ -d "/usr/local/bin" ]; then export PATH="$PATH:/usr/local/bin" fi if [ -d "$HOME/bin" ]; then export PATH="$HOME/bin:$PATH" fi # End /etc/profile.d/10-path.sh EOF
10-pkg_config_path.sh (Multilib Only)
cat > /etc/profile.d/10-pkg_config_path.sh << "EOF" # Begin /etc/profile.d/10-pkg_config_path.sh export PKG_CONFIG_PATH32="/usr/lib/pkgconfig" export PKG_CONFIG_PATHN32="/usr/lib32/pkgconfig" export PKG_CONFIG_PATH64="/usr/lib64/pkgconfig" # End /etc/profile.d/10-pkg_config_path.sh EOF
10-xdg.sh
cat > /etc/profile.d/10-xdg.sh << "EOF" # Begin /etc/profild.d/10-xdg.sh export XDG_DATA_DIRS="/usr/share" export XDG_CONFIG_DIRS="/etc/xdg:/usr/share" # End /etc/profild.d/10-xdg.sh EOF
15-xorg.sh
Change XORG_PREFIX to wherever you are going to install Xorg to. Even if you are going to install Xorg6 make sure that XORG_PREFIX is still set to the appropriate value.
Non-Multilib 15-xorg.sh
cat > /etc/profile.d/15-xorg.sh << "EOF" # Begin /etc/profile.d/15-xorg.sh export XORG_PREFIX=/usr/X11R7 export PATH="${PATH}:${XORG_PREFIX}/bin" export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}${PKG_CONFIG_PATH+:}${XORG_PREFIX}/lib/pkgconfig" export ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal" # End /etc/profile.d/15-xorg.sh EOF
Multilib 15-xorg.sh
cat > /etc/profile.d/15-xorg.sh << "EOF" # Begin /etc/profile.d/15-xorg.sh export XORG_PREFIX=/usr/X11R7 export PATH="${PATH}:${XORG_PREFIX}/bin" export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${XORG_PREFIX}/lib/pkgconfig" export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}${XORG_PREFIX}/lib32/pkgconfig" export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64+:}${XORG_PREFIX}/lib64/pkgconfig" export ACLOCAL="aclocal -I $XORG_PREFIX/share/aclocal" # End /etc/profile.d/15-xorg.sh EOF
50-dircolors.sh
cat > /etc/profile.d/50-dircolors.sh << "EOF" # Begin /etc/profile.d/50-dircolors.sh alias ls='ls --color=auto' if [ -f "$HOME/.dircolors" ]; then eval `dircolors -b "$HOME/.dircolors"` else if [ -f "/etc/dircolors" ]; then eval `dircolors -b "/etc/dircolors"` fi fi # End /etc/profile.d/50-dircolors.sh EOF
To create /etc/dircolors run the following command:
dircolors -p > /etc/dircolors
50-history.sh
cat > /etc/profile.d/50-history.sh << "EOF" # Begin /etc/profile.d/50-history.sh export HISTSIZE=1000 export HISTIGNORE="&:[bf]g:exit" # End /etc/profile.d/50-history.sh EOF
50-prompt.sh
cat > /etc/profile.d/50-prompt.sh << "EOF" # Begin /etc/profile.d/50-prompt.sh export PS1="\u:\w\$ " if [ "${TERM:0:5}" = "xterm" ]; then export PS1="\[\e]2;\u@\H :: \w\a\]$PS1" fi shopt -s checkwinsize # End /etc/profile.d/50-prompt.sh EOF
If you're after a colorful PS1 try using \[\e[1;32m\]\u\[\e[1;33m\]@\[\e[1;31m\]\H \[\e[1;34m\]\w \[\e[1;32m\]\$ \[\e[0;0m\]
checkwinsize forces bash to check the size of the window at the end of each command. This is useful if you resized your terminal while a command was running.
For a more comprehensive treatment of the Bash prompt, refer to the Bash Prompt HOWTO
50-readline.sh
cat > /etc/profile.d/50-readline.sh << "EOF" # Begin /etc/profile.d/50-readline.sh if [ -z "$INPUTRC" ]; then if [ -f "$HOME/.inputrc" ]; then export INPUTRC="$HOME/.inputrc" else if [ -f "/etc/inputrc" ]; then export INPUTRC="/etc/inputrc" fi fi fi # End /etc/profile.d/50-readline.sh EOF
50-umask.sh
cat > /etc/profile.d/50-umask.sh << "EOF" # Begin /etc/profile.d/50-umask.sh if [ "`id -un`" = "`id -gn`" -a $EUID -gt 99 ]; then umask 002 else umask 022 fi # End /etc/profile.d/50-umask.sh EOF
50-multilib.sh (For Multilib Only)
Non-Mips
cat > /etc/profile.d/50-multilib.sh << "EOF" # Begin /etc/profile.d/50-multilib.sh export BUILD32="-m32" export BUILD64="-m64" export CLFS_TARGET32="i686-pc-linux-gnu" export LD_BUILD32="-m elf_i386" export LD_BUILD64="-m elf_x86_64" # End /etc/profile.d/50-multilib.sh EOF
Adjust CLFS_TARGET32 to be the same as what was placed in ~clfs/.bashrc while building CLFS.
Adjust elf_i386 and elf_x86_64 accordingly for your architecture. If you're unsure what to set the value to see the output of:
ld --help | grep emulations
Mips
cat > /etc/profile.d/50-multilib.sh << "EOF" # Begin /etc/profile.d/50-multilib.sh export BUILD32="-mabi=32" export BUILDN32="-mabi=n32" export BUILD64="-mabi=64" export LD_BUILD32="" export LD_BUILDN32="" export LD_BUILD64="" # End /etc/profile.d/50-multilib.sh EOF