TAB によるパス名の補完

bash コマンドライン

CUI だと、長いコマンドの入力が必要になる場合がある。
例えば、
yasunari@sil:~$ cp /usr/local/buffalo/usr/local/sbin/foo /var/tmp/xxx
といった具合い。
こういう長いパスを間違えなく入力するのは苦痛である。
こういうのがあるから、CUI は敬遠されてしまうのだろうな。

こういう長いパスの入力を補助するために、 bash には補完(補って完全にする)機能がある。

yasunari@sil:~$ cp /usr/loc■
ここまでタイプしたとき、TAB キーをたたくと
yasunari@sil:~$ cp /usr/local/■
と補ってくれる。さらに
yasunari@sil:~$ cp /usr/local/b[TAB]
とすると
yasunari@sil:~$ cp /usr/local/buffalo/■
と残りを補ってくれる。

ただし、複数の候補がある場合には補完できない。
例えば

yasunari@sil:~$ cp /usr/l[TAB]
としても /usr には l に一致する /usr/lib と /usr/local とがあるので、 ベルを鳴らして補完できないことを教えてくれる。
さらにもう一度 TAB キーを押すと、その候補を教えてくれる。
yasunari@sil:~$ ls /usr/l[TAB][TAB]
lib/   local/
yasunari@sil:~$ ls /usr/l■




<<補完>>
ハッカーに一歩近づく Tips
TAB によるコマンドの補完

Copyright (C) 2008 Yasunari Yamashita. All Rights Reserved.
yasunari @ yamasita.jp 山下康成@京都府向日市