当我们想要知道Linux中一个指令的类型时,可以使用type指令。因为在Linux的shell中,有一些指令是shell内嵌的,有一些是外部的指令,当我们想要区分它们时,就可以使用type指令。

使用方式:

type [-tpaP] commandname

选项详解:
  • 当不带选项时,type会显示命令是bash内嵌指令还是外部指令
  • -t:会显示以下几个关键词来表示指令的类型:

    • alias如果commandname是alias
    • key-word如果commandname是shell的保留字
    • function如果commandname是函数
    • builtin如果commandname是shell内置的指令
    • file如果commandname是外部指令(disk file)
  • -p(小写):如果commandname是外部指令,即type -t commandname的返回值是file时,会显示commandname的完整文件路径名(搜索PATH),如果type -t commandname的返回值不是file时,则什么都不返回。
  • -P(大写):即使type -t commandname的返回值不是file(外部指令),也会强制搜索PATH路径,即不论其是什么类型,都会返回完整的文件路径名。
  • -a:会在PATH变量规定的路径中搜寻所有的commandname指令,包括alias,并将其打印出来。

具体应用

image.png

type对指令的搜索都是在PATH路径下的,如果指令不在PATH规定的路径下,那么type不会有返回值的。
这是我简单测试得来的,如有错误之处,还望各位小伙伴指出。

阿料
1 声望4 粉丝

一个平凡的coder