それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

find コマンドでよく使うものをalias 代わりに関数にした

find を頻繁に使います。

find コマンドは気づけば打ち込んでいます。大変良くお世話になっています。

でもオプションを毎回入れるのが面倒

頻繁に使うオプションが有るんです。それを毎回入れるのが面倒になってきてる。

  • git のファイルの無視だとか
  • カレント・ディレクトリの無視

alias したいけど出来ない

alias したいけど、find はパス引数を1番目に入れないと動かない仕様。

find パス フィルタ1 フィルタ2・・・

パスが最初に来るので不便。

関数にした

function find ()
{
    local path=$1;
    if [ -z "$path" -o ! -e "$path" ]; then
        path='.';
    else
        shift;
    fi;
    $( which find ) "$path" -mindepth 1 -not -iwholename '*/.git/*' "$@"
}

今回は、ちゃんと引数の中身を見たり、存在確認をしたりしておいた。また少し便利になった。

find のデフォルト無視条件を/etcに書くとか環境変数に入れておくことは出来ないのだろうか。

find 以外のコマンドで find 的なことが出来るものないのだろうか。。。

関数が邪魔なときは unset

unset find 

bash で定義済み関数を削除するには unset なので 、関数がじゃまになったらunset で消せばイイ