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 コメント:
コメントを投稿