![dc3dd,为什么制表符补全不起作用?](https://linux22.com/image/213159/dc3dd%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%E5%88%B6%E8%A1%A8%E7%AC%A6%E8%A1%A5%E5%85%A8%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
在 Slackware 15 上。
使用 dd 我做
dd if=/home/myuser/my..TAB
并按 Tab 键后完成 dir 路径
我使用 dc3dd
dc3dd if=/home/myuser/my..TAB
但什么也没发生。
为什么?
我尝试过 rlwrap 但没有任何改变
complete -p dd
说
bash: complete: dd: no completion specification
和
complete -p dc3dd
bash: complete: dc3dd: no completion specification
答案1
您的 shell 需要了解命令行选项的语法,这就是为什么它们附带大量自动完成脚本来为您提供熟悉的舒适度。
似乎您使用的 shell 不知道dc3dd
(我也不知道),所以它不知道它可以在 之后完成文件名if=
。您可以编写自己的完成程序,它是用于完成dd
参数的脚本的调整版本。
答案2
也许一种方法是修改/usr/share/bash-completion/completions/dd
,最后尝试替换complete -F _dd dd
为complete -F _dd dd dc3dd