command: command [-pVv] 命令 [参数 ...]
    执行一个简单命令或者显示命令的相关信息。

    带 ARGS 参数运行 COMMAND 命令且抑制 shell 函数查询,或显示
    指定的 COMMAND 命令的信息。可以在存在相同名称的函数定义的
    情况下被用于启动磁盘上的命令。

    选项:
      -p    使用 PATH 变量的一个默认值以确保所有的标准工具
        都能被找到。
      -v    打印 COMMAND 命令的描述,和 `type' 内建相似
      -V    打印每个 COMMAND 命令的详细描述

    退出状态
    返回 COMMAND 命令的返回状态,或者当找不到 COMMAND 命令时失败

大体两三种用法

  1. 带ARGS参数运行COMMAND命令,可以抑制shell函数的查询,这个一般使用在函数与命令重名的情况下,执行磁盘中的命令而不是函数。
  2. 使用-v或者-V来获得COMMAND的详细描述,-V更详细一些,类似type命令
  3. 根据描述无法得知一个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”。

results matching ""

    No results matching ""