はじめに
Linux系OSのシステムを運用する上ではシェルの機能は重要です。zshなどはかなり高機能ですが一般的には標準のbashが使われることが多いので、できるだけbashを使いやすくなるよう .bashrc
の設定をカスタマイズしてます。
.bashrcの内容
とりあえず現状は以下のようにしてます。
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
## カスタマイズ設定
# プロンプトの設定
case ${UID} in
0)
PS1='\[\033[31m\]${PWD}\$\[\033[0m\] '
PS2='\[\033[31m\]>\[\033[0m\] '
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PS1='\[\033[30m\]\h'" ${PS1}"
;;
*)
PS1='\[\033[37m\]\w:\$\[\033[0m\] '
PS2='\[\033[37m\]$\[\033[0m\] '
[ -n "${REMOTEHOST}${SSH_CONNECTION}" ] && PS1='\[\033[36m\]\D{%F} \t \u@\h'" ${PS1}"
;;
esac
# ターミナルの表示設定
case "${TERM}" in
kterm*|xterm)
PROMPT_COMMAND='echo -e "\033]0;'"${USER}@${HOSTNAME%%.*}:"'${PWD}\007\c"'
;;
esac
# ヒストリ系の環境変数の設定
export HISTSIZE=100000
export HISTFILESIZE=100000
export HISTCONTROL=ignoredups
export HISTIGNORE=?:??:exit
export HISTFILE=~/.bash_history/.bash_history-$OSTYPE-`date +%Y%m%d`
# 標準エディタ環境変数の設定
EDITOR=vim
# ロケール環境変数の設定
LANG=ja_JP.UTF-8
# パスの設定
PATH=$PATH:~/bin
export PATH LANG EDITOR
# .inputrcの読み込み
[ -f ~/.inputrc ] && bind -f ~/.inputrc
.inputrc
に readline の設定を記載し、読み込ませます。
$if Bash
set show-all-if-ambiguous off
set bell-style none
set visible-stats on
set completion-ignore-case on
set horizontal-scroll-mode off
set bell-style none
set expand-tilde off
set convert-meta off
set input-meta on
set output-meta on
space: magic-space
"\C-p": history-search-backward
"\C-n": history-search-forward
"\e[A": history-search-backward
"\e[B": history-search-forward
"\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
"\es":"\C-e\C-uls\C-m"
"\C-g": ""
"\C-gr": "grep -r ./\eb\C-f \"\"\C-b"
"\C-gg": "grep *\C-b\C-b \"\"\C-b"
"\e\"": "\eb\"\ef\""
"\e\"": "\eb\"\ef\""
"\e\'": "\eb\'\ef\'"
"\e\`": "\eb\`\ef\`"
"\e\]": "\eb\[\ef\]"
"\e\[": "\eb\[\ef\]"
"\e\}": "\eb\{\ef\}"
"\e\{": "\eb\{\ef\}"
"\e\)": "\eb\(\ef\)"
"\e\(": "\eb\(\ef\)"
$endif
おわりに
もっと良い設定があれば随時カスタマイズしていこうと思います。