Difference between revisions of "Bash Startup Files"
(→50-prompt.sh) |
|||
(27 intermediate revisions by 9 users not shown) | |||
Line 3: | Line 3: | ||
cat > /etc/profile << "EOF" | cat > /etc/profile << "EOF" | ||
# Begin /etc/profile | # Begin /etc/profile | ||
− | |||
for script in /etc/profile.d/*.sh | for script in /etc/profile.d/*.sh | ||
Line 11: | Line 10: | ||
unset script | unset script | ||
− | # End /etc/profile | + | # End /etc/profile |
EOF | EOF | ||
Line 21: | Line 20: | ||
# Begin /etc/profile.d/05-i18n.sh | # Begin /etc/profile.d/05-i18n.sh | ||
− | export LANG=[ll]_[CC].[ | + | export LANG=[ll]_[CC].[charset] |
− | |||
export G_FILENAME_ENCODING=@locale | export G_FILENAME_ENCODING=@locale | ||
Line 59: | Line 57: | ||
export PKG_CONFIG_PATH32="/usr/lib/pkgconfig" | export PKG_CONFIG_PATH32="/usr/lib/pkgconfig" | ||
− | export PKG_CONFIG_PATHN32="/usr/ | + | export PKG_CONFIG_PATHN32="/usr/lib32/pkgconfig" |
− | export PKG_CONFIG_PATH64="/usr/ | + | export PKG_CONFIG_PATH64="/usr/lib64/pkgconfig" |
# End /etc/profile.d/10-pkg_config_path.sh | # 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 | EOF | ||
=== 15-xorg.sh === | === 15-xorg.sh === | ||
− | Change ''XORG_PREFIX'' to wherever you are going to install Xorg to. | + | 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 ==== | ==== Non-Multilib 15-xorg.sh ==== | ||
Line 77: | Line 86: | ||
export PATH="${PATH}:${XORG_PREFIX}/bin" | export PATH="${PATH}:${XORG_PREFIX}/bin" | ||
− | export PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:${XORG_PREFIX}/lib/pkgconfig" | + | 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 | # End /etc/profile.d/15-xorg.sh | ||
Line 90: | Line 100: | ||
export PATH="${PATH}:${XORG_PREFIX}/bin" | export PATH="${PATH}:${XORG_PREFIX}/bin" | ||
− | export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32 | + | export PKG_CONFIG_PATH32="${PKG_CONFIG_PATH32}${PKG_CONFIG_PATH32+:}${XORG_PREFIX}/lib/pkgconfig" |
− | export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32 | + | export PKG_CONFIG_PATHN32="${PKG_CONFIG_PATHN32}${PKG_CONFIG_PATHN32+:}${XORG_PREFIX}/lib32/pkgconfig" |
− | export PKG_CONFIG_PATH64="${PKG_CONFIG_PATH64}${PKG_CONFIG_PATH64 | + | 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 | # End /etc/profile.d/15-xorg.sh | ||
Line 116: | Line 127: | ||
To create /etc/dircolors run the following command: | To create /etc/dircolors run the following command: | ||
− | dircolors - | + | dircolors -p > /etc/dircolors |
=== 50-history.sh === | === 50-history.sh === | ||
Line 138: | Line 149: | ||
export PS1="\[\e]2;\u@\H :: \w\a\]$PS1" | export PS1="\[\e]2;\u@\H :: \w\a\]$PS1" | ||
fi | fi | ||
+ | |||
+ | shopt -s checkwinsize | ||
# End /etc/profile.d/50-prompt.sh | # End /etc/profile.d/50-prompt.sh | ||
EOF | EOF | ||
− | If you're after a colorful PS1 try using '''<nowiki>\[\e[1;32m\]\u\[\e[1;33m\]@\[\e[1;31m\]\H \[\e[1;34m\]\w \[\e[1;32m\ ]\$ \[\e[0;0m\]</nowiki>''' | + | If you're after a colorful PS1 try using '''<nowiki>\[\e[1;32m\]\u\[\e[1;33m\]@\[\e[1;31m\]\H \[\e[1;34m\]\w \[\e[1;32m\]\$ \[\e[0;0m\]</nowiki>''' |
+ | |||
+ | '''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 [http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/ Bash Prompt HOWTO] | ||
=== 50-readline.sh === | === 50-readline.sh === | ||
Line 174: | Line 191: | ||
# End /etc/profile.d/50-umask.sh | # 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 | EOF |
Latest revision as of 18:11, 12 January 2009
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