zsh で outputz

preexec なんて素敵なものを教えてもらったので,せっかくだから活用してみる.
最近流行りのoutputz.comへシェルへ打ち込んだ文字数を送る.

.zshrc に以下のコードを追加する

OUTPUTZ_KEY=復活の呪文

preexec() {
    SIZE=`echo $argv[1] | wc -c | tr -d ' '`
    URI=http://www.zsh.org/`echo ${argv[1]} | sed "s/ /_/g"`
    POST_DATA="key=${OUTPUTZ_KEY}&uri=${URI}&size=${SIZE}"
    CONTENT_TYPE="Content-Type: application/x-www-form-urlencoded"
    wget -O - --header "$CONTENT_TYPE" --post-data="$POST_DATA" "$OUTPUTZ_API_URL" >& /dev/null
}

スペースはアンダーバー(_)に変えて表示するようにしてみた.
改行もカウントしてしまうがもう飽きてしまったので修正しない.
argv の使い方これで合ってるかな? かなり勘で書いているので心配.
あと,変数名のスコープも分かってないので副作用が出るかも.心配.

このネタきっと既出だろうなぁ.

追記:
うん既出だね.
http://d.hatena.ne.jp/dzfl/20081129/1227958084