当我tab tab
_
进入终端时,Bash 会建议 206 种可能性。我尝试运行其中一个_git_rm
,但什么也没发生,它们是什么?
这是一个屏幕截图:
答案1
这些名称以下划线开头的函数是可编程完成引擎的一部分。 Bash 在这里遵循 zsh 的约定,其中生成补全的函数somecommand
称为_somecommand
,如果该函数需要辅助函数,则调用它们_somecommand_stuff
。
如果您手动调用这些完成函数,它们通常不会执行任何有用的操作或引发错误:它们旨在从完成引擎中调用。
这是在各种编程语言中相当广泛的实践的基础上,使用前导下划线来指示函数或变量在某种程度上是库内部的,而不是供最终用户(或最终程序员)使用的。