如果我输入 unrar-nonfree 并双击 tab,我会得到通常的自动完成结果:
michaelxu@michaelxu-server:~$ unrar-free /
backup.sh initrd.img.old mxx.lock tmp/
bin/ killftp.sh nohup.out usr/
boot/ lastbackup.txt proc/ var/
cdrom/ lib/ root/ vmlinuz
dev/ lost+found/ sbin/ vmlinuz.old
etc/ media/ selinux/
home/ mnt/ srv/
initrd.img mxreport.sh.save sys/
但是如果我输入 unrar(由 update-alternatives 创建的 unrar-nonfree 的符号链接)然后双击 tab,我会得到以下选项:
michaelxu@michaelxu-server:~$ unrar
e l lb lt p t v vb vt x
这与符号链接有关吗?这是错误还是功能?
答案1
我解决了
set mark-symlinked-directories on
在~/.inputrc 解决方案来自http://www.pedrodiaz.com/cs/linux/bashtips.php
答案2
如果你使用bash-completions
,只需编辑文件/usr/share/bash-completion/completions/unrar
。靠近文件末尾有一行
complete -F _unrar unrar
只是添加另一个这样的
complete -F _unrar unrar-free
不要忘记打开一个新终端,以便读取文件更改。