BLFS Book: Chapter3.After LFS Configuration Issues
・The Bash Shell Startup Files
先ず、bashを使用したログイン時に最初に読み込まれるファイル/etc/profileを以下の内容で作成します。
・/etc/profile
pathremove () {
local IFS=':'
local NEWPATH
local DIR
local PATHVARIABLE=${2:-PATH}
for DIR in ${!PATHVARIABLE}; do
if [ "$DIR" != "$1" ]; then
NEWPATH=${NEWPATH:+$NEWPATH:}$DIR
fi
done
export $PATHVARIABLE="$NEWPATH"
}
pathprepend () {
pathremove $1 $2
local PATHVARIABLE=${2:-PATH}
export $PATHVARIABLE="$1${!PATHVARIABLE:+:${!PATHVARIABLE}}"
}
pathappend () {
pathremove $1 $2
local PATHVARIABLE=${2:-PATH}
export $PATHVARIABLE="${!PATHVARIABLE:+${!PATHVARIABLE}:}$1"
}
export PATH=/bin:/usr/bin
if [ $EUID -eq 0 ]; then
pathappend /sbin:/usr/sbin
unset HISTFILE
fi
export HISTSIZE=1000
export HISTIGNORE="&:[bf]g:exit"
export PS1='\u@\h:\w\$ '
for script in /etc/profile.d/*.sh ; do
if [ -r $script ]; then
. $script
fi
done
unset pathremove pathprepend pathappend
以下、/etc/profileから読み込まれるファイルを大量生産していきます。
・/etc/profile.d/dircolors.sh
if [ -f "/etc/dircolors" ] ; then
eval $(dircolors -b /etc/dircolors)
if [ -f "$HOME/.dircolors" ] ; then
eval $(dircolors -b $HOME/.dircolors)
fi
fi
alias ls='ls --color=auto'
・/etc/profile.d/extrapaths.sh
if [ -d /usr/local/lib/pkgconfig ] ; then
pathappend /usr/local/lib/pkgconfig PKG_CONFIG_PATH
fi
if [ -d /usr/local/bin ] ; then
pathprepend /usr/loca/bin
fi
if [ -d /usr/local/sbin -a $EUID -eq 0 ] ; then
pathprepend /usr/loca/sbin
fi
for directory in $(find /opt/*/lib/pkgconfig -type d 2>/dev/null); do
pathappend $directory PKG_CONFIG_PATH
done
for directory in $(find /opt/*/bin -type d 2>/dev/null); do
pathappend $directory
done
if [ -d ~/bin ] ; then
pathprepend ~/bin
fi
・/etc/profile.d/readline.sh
if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then
INPUTRC=/etc/inputrc
fi
export INPUTRC
・/etc/profile.d/tinker-term.sh
if [ -n "$COLORTERM" ]; then
export TERM=xterm-color
fi
if [ "$TERM" = "xterm" ]; then
export TERM=xterm-color
fi
・/etc/profile.d/umask.sh
if [ "$(id -gn)" = "$(id -un)" -a $EUID -gt 99 ]; then
umask 002
else
umask 022
fi
・/etc/profile.d/X.sh
if [ -x /usr/X11R6/bin/X ]; then
pathappend /usr/X11R6/bin
fi
if [ -d /usr/X11R6/lib/pkgconfig ]; then
pathappend /usr/X11R6/lib/pkgconfig PKG_CONFIG_PATH
fi
・/etc/profile.d/extra-prompt.sh
PROMPT_COMMAND="echo -ne '\e[1m${USER}@${HOSTNAME} : ${PWD}\e[0m\a'"
export PROMPT_COMMAND
・/etc/profile.d/i18n.sh
export LC_ALL=ja_JP.eucJP
export LANG=ja_JP.eucJP
export G_FILENAME_ENCODING=@locale
最後に、Linuxではお馴染みbashの設定ファイルを作成しておきます。
・/etc/bashrc
if [ -f /etc/profile.d/tinker-term.sh ]; then
. /etc/profile.d/tinker-term.sh
fi
alias ls='ls --color=auto'
export PS1='\u@\h:\w\$ '
・$HOME/.bashrc
if [ -f "/etc/bashrc" ]; then
. /etc/bashrc
fi
コメントする