符号链接 bash 自动完成

符号链接 bash 自动完成

如果我输入 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

不要忘记打开一个新终端,以便读取文件更改。

相关内容