如果可以找到原始命令使用的完成函数,则可以使用complete -F将其分配给别名。
例如,在我的ubuntu框中,git checkout使用的完成函数是_git_checkout(在/etc/bash_complete.d/git中)。
例
运行前完成-F:
[me@home]$ git checkout <TAB><TAB> HEAD master origin/HEAD origin/master [me@home]$ alias go="git checkout" [me@home]$$ go <TAB><TAB> .git/ precommit_config.py README.md SvnSentinel/ .gitignore precommit.py startcommit.py tests/
后:
[me@home]$$ complete -F _git_checkout go [me@home]$$ go <TAB><TAB> HEAD master origin/HEAD origin/master