Seit Ubuntu 04.11 bekomme ich nach cat und ls als auto complete in der Bash immer ein Leerzeichen angefügt, wenn ich mit tab autocompletion nutze.
Also nach einem:
ls /us
erhalte ich ein
ls /usr/
man beachte das Leerzeichen! Das fand ich ziemlich nervig.
Ändern kann man das in der Datei:
/etc/bash_completion
Dort ist ein Feld mit folgendem Inhalt:
# makeinfo and texi2dvi are defined elsewhere.
for i in a2ps awk bash bc bison colordiff cp csplit \
curl cut cat date df diff dir du enscript env expand fmt fold gperf gprof \
grep grub head indent irb ld ls ldd less ln m4 md5sum mkdir mkfifo mknod \
mv netstat nl nm objcopy objdump od paste patch pr ptx readelf rm rmdir \
sed seq sha{,1,224,256,384,512}sum shar sort split strip tac tail tee \
texindex touch tr uname unexpand uniq units vdir wc wget who; do
have $i && complete -F _longopt -o default $i
done
unset i
Dort muss man einfach cat und alle weiteren Befehle, wo man dieses Verhalten nicht haben möchte heraus nehmen.