Bash Startup Files

Contents

[hide ]
  • 1 /etc/profile
    • 1.1 05-i18n.sh
    • 1.2 10-path.sh
    • 1.3 10-pkg_config_path.sh (Multilib Only)
    • 1.4 10-xdg.sh
    • 1.5 15-xorg.sh
      • 1.5.1 Non-Multilib 15-xorg.sh
      • 1.5.2 Multilib 15-xorg.sh
    • 1.6 50-dircolors.sh
    • 1.7 50-history.sh
    • 1.8 50-prompt.sh
    • 1.9 50-readline.sh
    • 1.10 50-umask.sh
    • 1.11 50-multilib.sh (For Multilib Only)
      • 1.11.1 Non-Mips
      • 1.11.2 Mips

/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

你可能感兴趣的:(C/C++,bash,path,build,script#,command,encoding)