在 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