如何快速查找 *Bash* 命令的*类型*?

shell 脚本 或交互式 shell 中,你可能会使用快捷 别名 或其他命令,却不知道你是在使用内置定义还是本地二进制文件。有一种简单的方法可以查明,即使用 bash 内置命令 typecommand

type 和 command 内置命令是什么?

shell 内置命令 typecommand 都可以显示有关命令的信息,以及你的命令、bash 函数bash 别名 在用作命令名称时将被如何解释。它们都是 POSIX 标准的一部分,尽管 bash 中的 type 内置命令提供了比 POSIX 定义更多的功能。

通过了解命令的类型,你可以确保 shell 脚本的正确行为。bash 中的命令类型将被标识为 aliaskeywordfunctionsbuiltinfile,对于未知类型则为空字符串。

command 内置命令还可以通过抑制 shell 查找来执行命令。这可以确保使用磁盘上的命令。

type: usage: type [-afptP] name [name ...]
command: usage: command [-pVv] command [arg ...]

如何查找命令的类型?

要找出 shell 命令的类型,你可以简单地使用 shell type 内置命令,语法为 type <命令名称>。带有 -V 选项的 bash command 内置命令将提供类似的详细输出。

[me@linux ~]$ type echo
echo is a shell builtin
[me@linux ~]$ command -V echo
echo is a shell builtin

在某些情况下,你可能希望在 shell 脚本中检查命令的类型,但解析 typecommand 内置命令的详细输出并不理想。相反,使用 bash type 内置命令时,你可以使用 -t 选项。示例:type -t date

或者,-a 选项提供命令的所有可能解释,包括 aliasbuiltinfunction

一个使用 bash type 内置命令的简单示例是配合 echo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山岚的运维笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值