bashの補充機能
etch->lennyになったサーバにログインしたら、bashの補充機能がなんかおかしい。
ちなみにLANG=Cで、たとえばcd /home/ayaと打とうとすると
aya@server:~$ cd -bash: /dev/fd/62: ã
になりコマンドは補充してくれるが、その後のファイル名の補充がうまくいかなくなった。
うーん、と思って調べてみたら、最初にLANG=Cがよくなかったみたい。
LANG=ja_JP.UTF-8
しかも一度ログアウトして、再ログインしたら直っていた。一度ログインしたときのLANGを上書きしちゃったから、おかしくなっていたんだろうか。
追記:どうやらcdを使った場合だけおかしくなってほかのコマンド(lvとか)はファイル名の補充がうまくいくらしい。
追記6/18: ってかlvぐらいしか使えない。むーーこまった。
追記6/19:/etc/bash.bashrcは以下のとおりで、他のちゃんと動くサーバーと変わらない
[ -z "$PS1" ] && return shopt -s checkwinsize if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then debian_chroot=$(cat /etc/debian_chroot) fi PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' if [ -x /usr/lib/command-not-found ]; then function command_not_found_handle { if [ -x /usr/lib/command-not-found ]; then /usr/bin/python /usr/lib/command-not-found -- $1 return $? else return 127 fi } fi
結局chshをして/bin/bash -> /bin/tcshに変更する事で解決した。本質的な解決じゃないけど、イライラするよりはいいよね。