我使用go作为一个简单的bash别名git checkout branchname。我错过的事情是自动完成功能,与完整的git checkout branchna …命令,但不是别名。
有没有办法指示Bash“继承”自动完成“驱动程序”的另一个命令?
如果可以找到原始命令使用的完成函数,则可以使用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