bashのTAB補完(パス名補完)で.svnを無視したい場合

ソースコード等をSubversionとかでバージョン管理している場合、チェックアウトしたディレクトリに。.svnとかが含まれていて、ターミナルなんかでbashTAB補完するとき邪魔だなって思うことがありますよね。
単一のディレクトリしかない場合、TABを連打していくと階層を掘っていけるはずが、.svnがあるおかげでちょっとタイプしてからTABキーを押す必要があったりとか。


そんな時は、~/.bashrcとかに、

export FIGNORE=${FIGNORE}:.svn

を追加しておけば、TAB補完時に.svnディレクトリを無視してくれる!
これは便利。


ちなみに、無視したいディレクトリやファイルが複数ある場合は、

export FIGNORE=${FIGNORE}:.svn:.git:.bak

こんな感じで、":"(コロン)区切りで書いておくとOK!
サフィックスでマッチする条件なので、ファイルでもディレクトリでもOKです。

FIGNORE
ファイル名補完 (後述の READLINE を参照) を行う際に無視するサフィックスを コロンで区切って並べたリストです。 FIGNORE のエントリのいずれかにサフィックスがマッチするファイル名は、 ファイル名補完にマッチするファイルのリストから除外されます。 例えば値として ".o:~" を設定します。

Man page of BASH


尚、言わずもがなですが、.bashrcを読み直したい時は、ログインしなおすか、

$ source ~/.bashrc

sourceコマンドで読み直してください。

それでは! =͟͟͞͞(๑•̀=͟͟͞͞(๑•̀д•́=͟͟͞͞(๑•̀д•́๑)=͟͟͞͞(๑•̀д•́


bashクックブック

bashクックブック

  • 作者: Carl Albing,JP Vossen,Cameron Newham,株式会社クイープ
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2008/09/26
  • メディア: 大型本
  • 購入: 8人 クリック: 268回
  • この商品を含むブログ (31件) を見る