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 むずいわー。

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