type

type

显示指定命令的类型。

概要

 type [-afptP] name [name ...]
 ```

## 主要用途

- 显示要查找的命令的信息。
- 控制查找范围和行为。
- 显示要查找的命令优先级最高的类型。

## 选项

```shell
-a:在环境变量PATH中查找并显示所有包含name的可执行文件路径;当'-p'选项没有同时给出时,如果在别名、关键字,函数,内建的信息中存在name,则一并显示。
-f:排除对shell函数的查找。
-p:如果name在执行'type -t name'返回的不是'file',那么什么也不返回;否则会在环境变量PATH中查找并返回可执行文件路径。
-P:即使要查找的name是别名、内建、函数中的一个,仍然会在环境变量PATH中查找并返回可执行文件路径。
-t:根据name的类型返回一个单词(别名,关键字,函数,内建,文件),否则返回空值。

参数

name:要查找的命令,可以为多个。

返回值

当指定的命令可以找到时返回成功,如果有没找到的返回失败。

例子

接下来要用到的例子假设'~/.bashrc'文件定义了以下的内容:

alias ls='ls --color=auto'
mybash(){ vim ~/.bashrc; }

而且执行环境里没有使用enable禁用内建命令。
type -a mybash
# 输出
mybash is a function
mybash ()
{
    vim ~/.bashrc
}

type -a -f mybash
# 输出(因为排除了函数,所以报错)
bash: type: mybash: not found

type -a -p mybash
# 输出为空(因为排除了函数,所以什么也不返回)

type -a ls
# 输出
ls is aliased to `ls --color=suto'
ls is /usr/bin/ls
ls is /bin/ls

type -a -p ls
# 输出
/usr/bin/ls
/bin/ls
# '-f'不会影响'-P'的范围,'-f'不建议和'-p'使用。
# 注意:printf同时是内建命令以及可执行文件(GNU coreutils),优先作为内建处理。

type -p printf
# 输出为空

type -P printf
# 输出
/usr/bin/printf
/bin/printf
# 如果有多个类型,那么输出优先级最高的类型。

type -t ls
# 输出
alias

type -t for
# 输出(bash关键字)
keyword

type -t mybash
# 输出
function

type -t -f mybash
# 输出空值

type -t printf
# 输出(bash内建优先级高)
builtin

type -t chmod
# 输出
file

注意

  1. 该命令是bash内建命令,相关的帮助信息请查看help命令。
  2. 命令优先级问题请查看builtin命令。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/type/

(0)
AuroraAurora站点维系者
上一篇 2024年 3月 11日 下午6:34
下一篇 2024年 3月 11日 下午6:34

相关推荐

  • sh

    文章目录sh补充说明语法选项实例 sh shell命令解释器 补充说明 sh命令 是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行…

    入门教程 2024年 3月 4日
  • bmodinfo

    文章目录bmodinfo补充说明语法选项参数实例 bmodinfo 显示给定模块的详细信息 补充说明 bmodinfo命令 用于显示给定模块的详细信息。 语法 bmodinfo(选…

    入门教程 2023年 12月 6日
  • uncompress

    文章目录uncompress补充说明语法选项参数实例 uncompress 用来解压.Z文件 补充说明 uncompress命令 用来解压缩由compress命令压缩后产生的“.Z…

    入门教程 2024年 3月 11日
  • systemctl

    文章目录systemctl补充说明实例 systemctl 系统服务管理器指令 补充说明 systemctl命令 是系统服务管理器指令,它实际上将 service 和 chkcon…

    入门教程 2024年 3月 11日
  • arping

    文章目录arping补充说明语法选项参数实例 arping 通过发送ARP协议报文测试网络 补充说明 arping命令 是用于发送arp请求到一个相邻主机的工具,arping使用a…

    入门教程 2023年 12月 6日
  • IOS 故事板(Storyboards)

    简介 Storyboards在 iOS 5 中才有介绍,当我们用Storyboards时,部署目标应该是iOS5.0或更高版本。 Storyboards 帮助我们了解视觉流动的画面…

    2023年 4月 1日
  • 创建第一款iPhone应用程序

    现在让我们来创建一个在iOS模拟器上运行的简单视图应用(空白的应用程序)。 操作步骤如下: 1、打开Xcode并选择创建一个新的Xcode项目。 然后选择单一视图应用程序 接下来输…

    2023年 4月 10日
  • ifdown

    文章目录ifdown补充说明语法参数实例 ifdown 禁用指定的网络接口 补充说明 ifdown命令 用于禁用指定的网络接口。 语法 ifdown(参数) 参数 网络接口:要禁用…

    入门教程 2023年 12月 19日
  • sshpass

    文章目录sshpass补充说明安装语法选项实例 sshpass 免交互 SSH 登录工具。 补充说明 免交互 SSH 登录工具,但不要用在生产服务器上。 如果你想自动在 SSH 登…

    入门教程 2024年 3月 11日
  • e2fsck

    文章目录e2fsck补充说明语法选项参数实例 e2fsck 用于检查第二扩展文件系统的完整性 补充说明 e2fsck命令 用于检查第二扩展文件系统的完整性,通过适当的选项可以尝试修…

    入门教程 2023年 12月 14日

发表回复

登录后才能评论
Translate »