bash aliasの設定

bashで tcsh と同じに様に機能させる為の設定メモ。

ディレクトリ名表示をカレント・ディレクトリと一つ上のディレクトリにする
  bashのプロンプト・パラメータにはディレクトリ表示方法として2つある
    -w :カレント・ディレクトリを一つだけ表示する
    -W :ホーム・ディレクトリからカレント・ディレクトリまでを表示する
  カレント・ディレクトリだけでは分かり難いし、ホーム・ディレクトリからでは長過ぎる

履歴でコマンド実行時の時間を表示させる
  デフォルトでは実行時の時間を表示しない
# history 
export HISTSIZE=400
# history time
export HISTTIMEFORMAT="%F %T "
export HISTIGNORE="&:bg:fg:ll:h:hh:l"
export TIMEFORMAT=$'\nreal %3R\tuser %3U\tsys %3S\tpcpu %P\n'
# Define some colors first:
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
yellow='\e[0;33m'
YELLOW='\e[1;33m'
blue='\e[0;34m'
BLUE='\e[1;34m'
magenta='\e[0;35m'
MAGENTA='\e[1;35m'
cyan='\e[0;36m'
CYAN='\e[1;36m'
# No Color
NC='\e[0m'
## remote machine
## if [[ "${DISPLAY#$HOST}" != ":0.0" &&  "${DISPLAY}" != ":0" ]]; then  
if [[ "${DISPLAY}" != ":0.0" &&  "${DISPLAY}" != ":0" ]]; then  
    if [ "$EUID" -eq 0 ]; then 
     HILIT=${magenta}   # super-user
    else
     HILIT=${YELLOW}  
    fi
else  # local machine
    if [ "$EUID" -eq 0 ]; then 
     HILIT=${red}   # if super-user, then red
    else
     HILIT=${cyan}  # default color
    fi
fi
## added exports
if [ -f "${HOME}/.bsh_exports" ]; then
    . "${HOME}/.bsh_exports"
fi
## alias
if [ -f "${HOME}/.def.alias" -a -f "${HOME}/.alias" ]; then
    unalias -a 2> /dev/null
    . "${HOME}/.def.alias"
    . "${HOME}/.alias"
fi

# alias の定義ファイル
unset PROMPT_COMMAND
Host=$(hostname -s)
function get_dirs() {
    declare -a array
    array=($(echo $PWD | tr "/" " " ))
    index=${#array[*]}
    let "last0 = $index -1"
    let "last1 = $index -2"
    if [ "$index" -eq 0 ]; then
        Pdir="/"
    elif [ "$index" -eq 1 ]; then
        Pdir="/${array[$last0]}"
    elif [ "$index" -eq 2 ]; then
        Pdir="/${array[$last1]}/${array[$last0]}"
    else
        Pdir="${array[$last1]}/${array[$last0]}"
    fi
}
# ディレクトリ名表示をカレント・ディレクトリと一つ上のディレクトリにする
function set_ps() {
     if [ $# -eq 0 ];  then 
        cd 
    else
        cd "$1"
    fi
    get_dirs
    PS1="${HILIT}[\h]$NC ${Pdir} \!> " 
}
## ls 
function set_arg() {
    LS=$(if [ $# -eq 0 ]; then echo ""; else echo "$@"; fi)
}
function set_arg2() {
    LS=$(if [ $# -eq 0 ]; then echo "."; else echo "$@"; fi)
}
function lRd() {
   set_arg "$@"
   ls -lR --color=always $LS | more
}
function lld() {
   set_arg ""$@""
   ls -lF --color=always $LS | more
}
Sample
alias h='history'
alias hh='history'
alias ..='cd ..'
alias du='du -kh'
alias df='df -kTh'
#
set_ps "$PWD"
alias cd=set_ps
alias l='ls -alF --color=auto | more'
alias lR=lRd
alias ll=lld
alias lwc=lwcd
alias gre=gred
alias newf=newfd
alias newd=newdd
alias psn=psnamed
alias squidclean=squidcleand
#
alias tailw=tailwd
alias tailk=tailkd
#
alias updates='sudo yum update'
alias yumclean='sudo yum clean all'
alias lso='sudo lsof -i'
alias cache2=cache2d
alias cache3=cache3d

サンプルファイルのダウンロード 

to Top
ホームページ へ

Last modified: 2014-04-24; First lease: 2012-09-03