vim設定をsvn管理する環境設定補助用スクリプト

なにげにはじめて書いたまともなbashスクリプトだったり。
十行以下のはいままでにも書いたことあるが。

#!/bin/bash

CMDNAME=`basename $0`
DIRNAME=`dirname $0`

exit_unless_force () {
    if [ "$FLG_FORCE" != "TRUE" ]; then
        echo "installation aborted!" 1>&2
        exit 1
    fi
    echo "force option specified. forcing install" 1>&2
}

while getopts fi OPT
do
    case $OPT in
        "f" ) FLG_FORCE="TRUE" ;;
        "i" ) FLG_INSTALL="TRUE" ;;
        * ) FLG_INSTALL=""; ;;
    esac
done

if [ "$FLG_INSTALL" != "TRUE" ]; then
    echo "Usage: $CMDNAME -i [-f]" 1>&2
    echo "  -f : overwrite currently installed configs" 1>&2
    exit 1
fi

if [ ! -f $DIRNAME/_vimrc ]; then
    echo "_vimrc not found : run on correct directory" 1>&2
    exit 1
fi

echo "Setting up vim configs : ~/.vimrc" 1>&2

if [ -e ~/.vimrc ]; then
    echo "~/.vimrc already exists!" 1>&2
    
    exit_unless_force
    
    if [ -f ~/.vimrc ]; then
      rm -rf ~/.vimrc
    fi
fi

ln -s $DIRNAME/_vimrc ~/.vimrc

echo "Setting up vim config dir : ~/.vim" 1>&2

if [ -e ~/.vim ]; then
    echo "~/.vim already exists!" 1>&2
    
    exit_unless_force
    
    if [ -f ~/.vim ]; then
        rm -rf ~/.vim
    fi
fi

ln -s $DIRNAME ~/.vim

echo "Setting up vim backup/swap dir: ~/.vim_backup ~/.vim_swap"

if [ -e ~/.vim_backup ]; then
	echo "~/.vim_backup already exists! skipping ..." 1>&2
else
	mkdir ~/.vim_backup
fi

if [ -e ~/.vim_swap ]; then
	echo "~/.vim_swap already exists! skipping ..." 1>&2
else
	mkdir ~/.vim_swap
fi