有时重定向在bash完成中不展开



有时当我做以下操作时

somecmd arg1 arg2 > ~/Deskto<TAB>

正确展开为"Desktop"。当我这样做的时候,它不会膨胀。这是bash的错还是命令的错?我猜这是bash的错误,因为即使命令没有完成,它也能工作。如何调查根本问题?

这是该命令的可编程完成错误。

您可以:

  1. 对该参数使用文件名完成而不是可编程完成:

    somecmd arg1 arg2 > ~/Deskto Alt+/

  2. 为该命令禁用可编程完成:

    complete -r yourcommand

这不是bash问题。这是某个命令的bash_completion脚本的问题。您可以从以下位置开始调查:

/etc/bash_completion.d/command