Mac 環境構築 その3 - シェル (zsh) 設定 [mac]
zsh の設定.
といってもこれまで使っている設定ファイルをほとんどそのまま使うだけ.設定ファイルを全部ここに添付するにはあまりに膨大なのでポイントだけ挙げておくと,環境によって設定を変えたい時は zsh のデフォルト変数 (シェルパラメータ) の $OSTYPE を使うと便利.
例えばこんなかんじ.
if [ "${OSTYPE}" = 'netbsdelf' ] ; then
if type ggrep > /dev/null 2>&1 ; then
alias grep='command ggrep'
fi
if type gls > /dev/null 2>&1 ; then
alias ls='command gls -hF --color=auto --show-control-chars'
else
alias ls='command ls -hF'
fi
elif [[ "${OSTYPE}" = darwin* ]] ; then
if type gnuls > /dev/null 2>&1 ; then
alias ls='command gnuls -hF --color=auto --show-control-chars'
else
alias ls='command ls -hFv'
fi
else
alias ls='command ls -hF --color=auto --show-control-chars'
fi
$OSTYPE は確か bash にもあったと思うけど,実際にあるかどうか,またあった場合にどんな値を設定しているかはご自分のシェルで確認された方が良いだろう.まあ無くても uname から自分で設定してしまえば問題ないはず.
余談になるが,同じようなテクニックで「会社か自宅か変数」を自分で設定しても便利かも (会社では proxy 設定などする必要があるので).会社の IP アドレスが 99.XXX.XXX.XXX とかだとすると,
if [ -z "${LOCATION}" ] ; then
case $OSTYPE in
netbsdelf|darwin*)
alias ifconfigcmd='/sbin/ifconfig -a'
;;
linux-gnu)
alias ifconfigcmd=/sbin/ifconfig
;;
cygwin)
alias ifconfigcmd=ipconfig
;;
esac
if [ -n "`ifconfigcmd | grep '99\.[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+'`" ] ; then
LOCATION=office ; export LOCATION
else
LOCATION=out_of_office ; export LOCATION
fi
unalias ifconfigcmd
fi
みたいな.
0 コメント:
コメントを投稿