saferm #2

id:ha-tan:20050527の続き。よりポータブルにするためシェルスクリプトに移植(+ エラーチェックを追加)してみた。
以下の内容を.bashrcとか.profileとかに追加すればよい。

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
}

今回は、シェルスクリプトの前にRubyでプロトタイプを作ってしまった。アプローチとしていかがなものかという気がする。「こんなのシェルスクリプトで書いてられるかー」といってRubyで書き直すのが普通だと思う。