bash中的自动完成(使用Tab键)适用于文件夹,但不适用适用于文件。
这是 .bashrc 文件底部的外观,安装和更新了 bash-completion 部分:
# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
有什么想法吗?
答案 0 :(得分:13)
第三方“bash_completion”包(不要与bash或其原生完成混淆)有时很难预测。
cd
mplayer
。scp
。如果您遇到bash_completion无用的情况,可以使用M-/
(又名Alt + /
)来改为使用bash的本机文件名。
如果命令经常给您带来麻烦,您可以使用complete -r thatcommand
末尾的.bashrc
为此命令禁用bash_completion。
答案 1 :(得分:2)
.bashrc文件似乎没问题所以问题可能出在其中一个bash_completion文件中。
我建议您备份文件并尝试将其替换为:
/ etc / bash_completion:
/ usr / share / bash-completion / bash_completion:
这是ubuntu 13.10的标准完成文件。在检查控制台是否有效之前重新启动控制台。
答案 2 :(得分:0)
可能的原因是a file named !
。当存在此类文件时,某些默认bash-completion
设置有a bug。您可以删除文件或修补程序/usr/share/bash-completion/bash_completion
,如错误链接中所示。