シェルの設定ファイル .profile他
最近使っているシェルの設定ファイルを置いておきます。このファイルはsh、pdksh、bash、zshに対応しています(とはいいつつ僕はほとんどzshしか使っていませんが…)。このファイルを.profileという名前でホームディレクトリに置いて、適宜.zshrcにシンボリックリンクを張るなどして運用しています。
なお、zshの設定の中の^[は、Escに置きかえる必要があります。ご注意ください。
ファイル: .profile他
# -*- shell -*- # ================================== # sh and pdksh and zsh config file # ================================== # # $Id:$ # stty erase ^H export_if_exist() { local realvar="$3" [ X"$realcmd" = X ] && realvar="$2" local p for p in `echo $PATH | tr : ' '`; do if [ -e "$p/$2" ]; then export "$1"="$realvar" break fi done } export PATH=$HOME/bin export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin #export PATH=$PATH:/usr/pkg/gcc3/bin export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin export PATH=$PATH:/usr/X11R6/bin:/usr/games export PATH=$PATH:/usr/local/bin:/usr/local/sbin export EDITOR=vi export PAGER=less export_if_exist PAGER lv export_if_exist PAGER jless export BLOCKSIZE=K export INPUTRC=~/.inputrc export LANG=ja_JP.eucJP export LC_CTYPE=ja_JP.eucJP export LC_TIME=C #export WWW_HOME=http://127.0.0.1/memo/ export LSCOLORS=6050202030404032346464 export CLICOLOR=true export PERL_BADLANG=true export CVS_RSH=ssh #export http_proxy=http://localhost/ #export http_proxy=http://proxy02:9515/ #export ftp_proxy=http://proxy02:9515/ #export UIM_CANDWIN_PROG=uim-candwin-gtk #export XMODIFIERS=@im=uim HOST=`hostname -s` PS1='$USER@$HOST(!) ' SPECIAL_PS1=true HISTSIZE=10000 HISTFILE=~/.history alias_if_exist() { local realcmd="$3" [ X"$realcmd" = X ] && realcmd="$2" local p for p in `echo $PATH | tr : ' '`; do if [ -e "$p/$2" ]; then alias "$1"="$realcmd" break fi done } alias_if_exist ls colorls 'colorls -F -G' alias ll='ls -l' alias la='ls -la' #alias rm='rm -i' #alias_if_exist rm saferm alias rm=saferm alias mv='mv -i' alias cp='cp -i' alias md=mkdir alias rd=rmdir alias sl=ls alias eixt=exit alias less=$PAGER alias df='df -m' alias reboot='sudo reboot' alias poweroff='sudo shutdown -p now' alias zzz='sudo pkill pppd; sleep 3; sudo zzz' alias xinit='xinit -- -ar1 200 -ar2 20' alias xxinit='BIG=true \xinit -- -ar1 200 -ar2 20 -depth 16' alias reload='. ~/.profile' alias config='vi ~/.profile' alias rmbak='rm -f *~; rm -f *.bak' alias pppd='sudo pppd call mopera0' alias down='cd ~/0000/down' alias rdic='rdic -x /usr/opt/eijiro/*' alias_if_exist man w3mman alias_if_exist refe w3mrefe alias_if_exist ftp lftp alias_if_exist ping gwping STARTS="txt=less:c=gcc -ggdb -Wall" STARTS="${STARTS}:tgz=tar zxvf:tar.gz=tar zxvf" STARTS="${STARTS}:tbz=tar yxvf:tar.bz2=tar yxvf" STARTS="${STARTS}:zip=unzip:lha=lha x" STARTS="$STARTS:gif=xli:jpeg=xli" export STARTS export START_DEFAULT='less' saferm() { local trash=`date +$HOME/.trash/%Y%m%d` while [ $# -gt 0 ]; do case "$1" in --) shift; break;; -*) shift;; *) break;; esac done if [ $# -eq 0 ]; then echo "usage: saferm file..." return 1 fi /bin/mkdir -p "$trash" [ -d "$trash" ] || return 1 while [ $# -gt 0 ]; do /bin/mv -f -- "$1" "$trash" shift done } mdcd() { mkdir -p "$1" cd "$1" } ndir() { local n=`/bin/ls | grep -e '^[0-9][0-9]*$' | sort -n | tail -1` [ "$n" = "" ] && n=0 printf "%02d\n" `expr $n + 1` } ndcd() { local dir=`ndir` mkdir -p $dir cd $dir } ddcd() { local dir=`date +%m%d` mkdir -p $dir cd $dir } PS0='$ ' RPS0= px() { if [ X"$SPECIAL_PS1" = Xtrue ]; then unset SPECIAL_PS1 else SPECIAL_PS1=true fi local tmp tmp="$PS1"; PS1="$PS0"; PS0="$tmp"; tmp="$RPS1"; RPS1="$RPS0"; RPS0="$tmp"; } if [ X"$KSH_VERSION" != X ]; then set -o emacs bind '^I=complete' bind '^I^I=complete-list' bind '^V=quote' bind -m '^[u=^Ucd ..^M' bind -m "^[o=| $PAGER^M" elif [ X"$BASH_VERSION" != X ]; then PS1='hoge$ ' bind 'Meta-u:" \C-ucd ..\n"' bind '"\M-u":" \C-ucd ..\n"' bind 'Meta-o:"| $PAGER\n"' bind '"\M-o":"| $PAGER\n"' elif [ X"$ZSH_VERSION" != X ]; then autoload -U compinit compinit -u compdef -d w3m bindkey -e bindkey -s '\M-u' '^Ucd ..\n' bindkey -s '\eu' '^Ucd ..\n' bindkey -s '\M-o' "| $PAGER^M" bindkey -s '\eo' "| $PAGER^M" p=/usr/pkgsrc/ s=/usr/src/ PS1=$'%~\n%{^[[32;40;1m%}%n@%m(%!)%{^[[0m%} ' RPS1='%{^[[32;40;1m%}%D{%Y/%m/%d %H:%M:%S}%{^[[0m%}' SAVEHIST=$HISTSIZE HISTFILE=~/.zhistory setopt hist_ignore_all_dups setopt hist_reduce_blanks setopt share_history setopt auto_cd setopt cdable_vars setopt correct setopt no_beep setopt menu_complete zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}' 'r:|[.,_-]=* r:|=*' 'l:|=* r:|=*' alias -g O="| $PAGER" else set -E emacs fi [ -f "$HOME/.profile_$HOST" ] && . "$HOME/.profile_$HOST" unset ENV # end