bash的命令补全支持两种补全方式:


1、命令补全

    

    shell命令分为两类,所谓内部命令和外部命令。

        外部命令:在系统某路径下有一个可执行程序。

        使用type命令可以查看命令是外部命令还是内部命令。

        使用which命令可以查看命令的可执行程序的位置。

        

        但是在任意一个位置输入命令都可以执行,为什么?PATH

    PATH: 是一组由冒号分割的路径。根据PATH环境变量中的路径一次查找可执行程序。

    使用TAB键补全命令,实质也是去PATH变量的路径下去搜索。

    

    hash: 哈希列表,执行命令时,通过PATH环境变量中的路径查找命令的位置,当找到后,经其记录到哈希列表中,下次查找时,直接在这个列表中搜索,如果找不到,再去PATH环境变量下的路径中去寻找对应的可执行程序。


2、路径补全


    给出打头路径,则在打头路径下查找补全;如果没有打头路径,则在当前路径下查找补全。