百日半狂乱

Shut the fuck up and write some code!!

bashのタブ補完で余分なスペースが入るようになった場合の対処

ある時を境に、

cp /et [Tab]
↓
cp /etc/

となっていたはずのbashのタブ補完が、

cp /et [Tab]
↓
cp /etc<space>

となるようになってしまった場合、

rm /etc/bash_completion.d/acroread.sh

とすれば元に戻ったという話.

同様の症状を訴えている人:参考1,参考2

別に/etc/bash_completionをいじった覚えなんてないのに勝手にbashのタブ補完の挙動が上記のように変わってしまった*1

最初はこちらの記事を参考に対処したが元に戻らず.

もう少し調べてみると実際はAdobe Reader 9インストール時に張られるシンボリックリンクが原因だった.

ls -l /etc/bash_completion.d/acroread.sh 
lrwxrwxrwx 1 root root 46 11月 18 13:01 acroread.sh -> /opt/Adobe/Reader9/Resource/Shell/acroread_tab

すでに書いたように、このacroread.shを削除してしまえば元の挙動に戻る.

とここまで書いてUbuntu日本語フォーラムに全く同じ事が書かれているのを見つけて萎えた.けどググラビリティ向上*2のために公開しちゃう.

確実性は微妙かもしれない(らしい)ので、フォーラムのリンク先にも張られていますが上記対処で直らない場合はbug#769866を参照をば.

*1:信じられないくらい不便な挙動である

*2:使い方間違ってる気がするけど他に良い表現も思い浮かばない.検索性向上?