dc3dd,为什么制表符补全不起作用?

dc3dd,为什么制表符补全不起作用?

在 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 ddcomplete -F _dd dd dc3dd

相关内容