bash_completion

Index of /bash
bashの補完機能パッケージ。
かれこれ5年以上 bash を利用していたのに、知らなかった。。。
bash 自体のプログラマブル補完機能も良く知らなかったし、こんな便利な補完機能があるとは。。。


様々なコマンドのオプションなどに対応している。
例えば kill

[foo@bar ~]$ kill 

で[TAB]を押すと

[foo@bar ~]$ kill 
1      1428   16102  16147  17727  1820   1860   1982   2026   2171   2175   2537   2541   2545   2549   2574   3      4      47     4948   4990   7
10295  1429   16104  16148  17923  1835   187    1995   204    2172   2176   2538   2542   2546   2550   2575   33     44     48     4949   5      8
121    1448   16105  16149  17924  1842   189    2      2074   2173   21772  2539   2543   2547   2551   2576   34     45     4946   4950   6      9

のように、プロセスIDが候補として表示される。
また、

[foo@bar ~]$ kill -

で[TAB]を押すと

[foo@bar ~]$ kill -
 -ABRT      -FPE       -JUNK(16)  -PROF      -RTMAX-10  -RTMAX-2   -RTMAX-7   -RTMIN+10  -RTMIN+15  -RTMIN+6   -STOP      -TTIN      -VTALRM    
 -ALRM      -HUP       -JUNK(32)  -PWR       -RTMAX-11  -RTMAX-3   -RTMAX-8   -RTMIN+11  -RTMIN+2   -RTMIN+7   -SYS       -TTOU      -WINCH
 -BUS       -ILL       -JUNK(33)  -QUIT      -RTMAX-12  -RTMAX-4   -RTMAX-9   -RTMIN+12  -RTMIN+3   -RTMIN+8   -TERM      -URG       -XCPU      
 -CHLD      -INT       -KILL      -RTMAX     -RTMAX-13  -RTMAX-5   -RTMIN     -RTMIN+13  -RTMIN+4   -RTMIN+9   -TRAP      -USR1      -XFSZ      
 -CONT      -IO        -PIPE      -RTMAX-1   -RTMAX-14  -RTMAX-6   -RTMIN+1   -RTMIN+14  -RTMIN+5   -SEGV      -TSTP      -USR2      

のように、送るシグナル一覧が候補として表示される


java コマンドだと カレントディレクトリ以下の jarやclassファイルを候補に表示してくれたり、
perl コマンドだと、オプションや「-M」につけるモジュールまで候補を表示してくれる。


便利だ。