bashでfunctionが存在するかしらべる
この記事を公開する頃には実家にいるであろう森です。
年末といえば大掃除、ということでマシンの掃除をしようと dotfiles を整理し始めたわけですが下記記述がいけてないなあと思いつつずっと放置してました。
ファイル git-completion.bash
が存在してたらプロンプトにGitのディレクトリ名を表示させるようにPS1を定義してるわけですが、
ここはファイルの存在チェックじゃなくて関数の __git_ps1 が存在するかチェックすべきですよね…。
設定した当時は関数が定義されているのがどうすればいいのかわからなかったのでこんなやっつけ対処をしていたのですが年末大掃除を機に真面目に定義しようと思います。
ずばり type コマンドで実現できました。
__git_ps1
が function だったら、という条件にすればいいわけですね。
ということで先ほどの設定はこうなりました。
多少はスマートになりました。
まとめ
- typeコマンド便利
- イケてない記述を放置しとかないでさっさと解決しとこう
- 掃除はこまめにやろう