command: command [-pVv] 命令 [参数 ...]
执行一个简单命令或者显示命令的相关信息。
带 ARGS 参数运行 COMMAND 命令且抑制 shell 函数查询,或显示
指定的 COMMAND 命令的信息。可以在存在相同名称的函数定义的
情况下被用于启动磁盘上的命令。
选项:
-p 使用 PATH 变量的一个默认值以确保所有的标准工具
都能被找到。
-v 打印 COMMAND 命令的描述,和 `type' 内建相似
-V 打印每个 COMMAND 命令的详细描述
退出状态
返回 COMMAND 命令的返回状态,或者当找不到 COMMAND 命令时失败
大体两三种用法
- 带ARGS参数运行COMMAND命令,可以抑制shell函数的查询,这个一般使用在函数与命令重名的情况下,执行磁盘中的命令而不是函数。
- 使用-v或者-V来获得COMMAND的详细描述,-V更详细一些,类似type命令。
- 根据描述无法得知一个PATH的变量默认值是什么?所以查找资料,找到一个有用的链接: http:\/\/gnu-bash.2382.n7.nabble.com\/bash-should-not-alter-PATH-with-command-p-td15545.html 里面有人使用了env命令打印环境变量,做了下面的一个测试:
env | grep ^PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rvm/bin
command -p env | grep ^PATH
PATH=/bin:/usr/bin
可见两次输出的PATH值不同,我测试的这台机器,command -p 默认的PATH为“\/bin:\/usr\/bin”。