AIX命令参考大全,卷 1,a - c - command 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 1,a - c

command 命令

用途

执行简单命令。

语法

command [ -p ] CommandNameArgument ... ]

command-v | -V ] CommandName

描述

command 命令导致 shell 将指定的命令和变量视为简单命令,禁止了 shell 功能查询。

通常,当 /(斜杠)不在命令(表示特定的路径)之前时,shell 通过搜索以下类别找到命令:

  1. 特殊 shell 内置
  2. shell 函数
  3. 常规的 shell 内置
  4. PATH 环境变量

例如,如果存在具有与常规的内置相同名称的函数,则系统使用该函数。command 命令允许您调用具有与某个函数相同名称的命令,并获取简单命令。

command -vcommand -V 命令将由 shell 使用的路径名以及 shell 如何解释命令类型(内部构件、函数、别名,等等)写到标准输出。由于 -v-V 标志产生与当前 shell 环境相关的输出,所以提供 command 命令作为 Korn shell 或 POSIX shell 的常规的内置命令。由于 /usr/bin/command 命令在子 shell 或独立命令执行环境中调用,所以它可能不产生正确的结果。在以下示例中,shell 不能标识别名、子例程或特殊 shell 命令:

(PATH=foo command -v)
nohup command -v

标志

-p 使用 PATH 环境变量的缺省值执行命令搜索,即,查找所有标准命令。
-v 根据以下约定,将由当前 shell 使用的路径名称写到标准输出以调用指定的命令:
  • 将命令、常规内置命令、包括 /(斜杠)的命令以及任何由 PATH 环境变量查找到的已提供实现的函数写为绝对路径名。
  • 将 shell 函数、特殊内置命令、不与 PATH 环境变量搜索关联的常规内置命令以及 shell 保留字只写为其名称。
  • 象这样标识别名,并且其定义包括在字符串中。

如果不能找到指定的命令名,则不写输出,并且退出状态返回 >0 值。

-V 将由当前 shell 环境解释的命令名写到标准输出。虽然未指定此输出的格式,但输出表示命令在以下哪一个目录中:
  • 将命令、常规 shell 命令以及任何使用 PATH 环境变量找到的已提供实现的子例程如此标识,并写为绝对路径名。
  • 其它 shell 函数标识为函数。
  • 象这样标识别名,并且其定义包括在字符串中。
  • 特殊的内置命令如此标识。
  • 不与 PATH 环境变量搜索关联的常规内置命令如此标识。
  • shell 保留字符如此标识。

退出状态

当指定 -v-V 标志,则返回以下退出值:

0 成功完成。
>0 使用 CommandName 参数指定的命令不能找到或发生错误。

当未指定 -v-V 标志时,返回以下退出值:

126 找到由 CommandName 参数指定的命令,但不能调用。
127 command 命令中发生错误或不能找到由 CommandName 参数指定的命令。

否则,command 命令返回与由 CommandName 参数指定的命令关联的退出状态。

示例

  1. 要制作无论何时您更改目录都将打印出新工作目录的 cd 命令的版本,请输入:

    cd () {
            command cd "$@" >/dev/null
            pwd
    }
  2. 要启动安全 shell 脚本(一个避免被其父脚本欺骗的脚本),请输入:

    IFS='
    '
    #       The preceding value should be <space><tab><newline>.
    #       Set IFS to its default value
     
    \unalias -a
    #       Unset all possible aliases.
    #       Note that unalias is escaped to prevent an alias
    #       being used for unalias.
     
    unset -f command
    #       Ensure command is not a user function.
     
    PATH="$(command -p getconf _CS_PATH):$PATH"
    #       Put on a reliable PATH prefix.
     
    # ...

    在此处,给出由 PATH 环境变量调用的目录的正确权限,该脚本具有确保其调用的任何命令都是计划的命令的能力。

文件

/usr/bin/ksh 包含 Korn shell command 内置命令。
/usr/bin/command 包含 command 命令。

相关信息

ksh 命令,type 命令。

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]