sourceで読み込んだらいい感じにPATHに追加するbashrc

とあるコマンドでbashの補完書きたいなぁと思って、そうするとbashrc的なの書いて~/.bashrcとかでsource使って読み込ませることになると思います。

んで、コマンドとbashrcがセットみたいな感じなので、以下の様な感じのディレクトリ構成で適当に配置して、sourceで読み込ませたらついでにPATHも通してくれるとうれしいなと思ったわけです。

/path/to/
  `-- kamipo
      |-- bin
      |   `-- make_kanojo
      `-- etc
          `-- bashrc

$ source /path/to/kamipo/etc/bashrc
$ which make_kanojo
/path/to/kamipo/bin/make_kanojo

sourceに渡す引数は絶対パスだけでもいんですが、手で実行するときとか相対パスとか、ファイル名だけとかそういう感じで実行しちゃうこともあるかと思うので、そういうときでもなんとなくいい感じに処理して欲しいですよね。実行するたびにPATHが増えるとかないようにしつつ。

$ cd /path/to
$ source ./kamipo/etc/bashrc
or
$ source kamipo/etc/bashrc

というわけで、可能な限りのshell script力を発揮して、書いてみました。いやーshell scriptむずいわー。

もっといいやり方あったら教えてくださいませ!