zoukankan      html  css  js  c++  java
  • linux type命令用法_转

    转自:http://codingstandards.iteye.com/blog/831504   

    在脚本中type可用于检查命令或函数是否存在,存在返回0,表示成功;不存在返回正值,表示不成功。

    $ type foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }

    用途说明

    type命令用来显示指定命令的类型。一个命令的类型可以是如下之一

    • alias 别名
    • keyword 关键字,Shell保留字
    • function 函数,Shell函数
    • builtin 内建命令,Shell内建命令
    • file 文件,磁盘文件,外部命令
    • unfound 没有找到

    它是Linux系统的一种自省机制,知道了是那种类型,我们就可以针对性的获取帮助。比如内建命令可以用help命令来获取帮助,外部命令用man或者info来获取帮助。

    常用参数

    type命令的基本使用方式就是直接跟上命令名字。

    type -a可以显示所有可能的类型,比如有些命令如pwd是shell内建命令,也可以是外部命令。

    type -p只返回外部命令的信息,相当于which命令。

    type -f只返回shell函数的信息。

    type -t 只返回指定类型的信息。

    使用示例

    示例一 type自己是什么类型的命令

    [root@new55 ~]# type -a type 
    type is a shell builtin
    [root@new55 ~]# help type 
    type: type [-afptP] name [name ...]
        For each NAME, indicate how it would be interpreted if used as a
        command name.
        
        If the -t option is used, `type' outputs a single word which is one of
        `alias', `keyword', `function', `builtin', `file' or `', if NAME is an
        alias, shell reserved word, shell function, shell builtin, disk file,
        or unfound, respectively.
        
        If the -p flag is used, `type' either returns the name of the disk
        file that would be executed, or nothing if `type -t NAME' would not
        return `file'.
        
        If the -a flag is used, `type' displays all of the places that contain
        an executable named `file'.  This includes aliases, builtins, and
        functions, if and only if the -p flag is not also used.
        
        The -f flag suppresses shell function lookup.
        
        The -P flag forces a PATH search for each NAME, even if it is an alias,
        builtin, or function, and returns the name of the disk file that would
        be executed.
    typeset: typeset [-afFirtx] [-p] name[=value] ...
        Obsolete.  See `declare'.
    [root@new55 ~]#

    示例二 常见命令的类型

    [root@new55 ~]# type -a cd 
    cd is a shell builtin
    [root@new55 ~]# type -a pwd 
    pwd is a shell builtin
    pwd is /bin/pwd
    [root@new55 ~]# type -a time 
    time is a shell keyword
    time is /usr/bin/time
    [root@new55 ~]# type -a date 
    date is /bin/date
    [root@new55 ~]# type -a which 
    which is aliased to `alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    which is /usr/bin/which
    [root@new55 ~]# type -a whereis 
    whereis is /usr/bin/whereis
    [root@new55 ~]# type -a whatis 
    whatis is /usr/bin/whatis
    [root@new55 ~]# type -a function 
    function is a shell keyword
    [root@new55 ~]# type -a ls 
    ls is aliased to `ls --color=tty'
    ls is /bin/ls
    [root@new55 ~]# type -a ll 
    ll is aliased to `ls -l --color=tty'
    [root@new55 ~]# type -a echo 
    echo is a shell builtin
    echo is /bin/echo
    [root@new55 ~]# type -a bulitin 
    -bash: type: bulitin: not found
    [root@new55 ~]# type -a builtin 
    builtin is a shell builtin
    [root@new55 ~]# type -a keyword 
    -bash: type: keyword: not found
    [root@new55 ~]# type -a command 
    command is a shell builtin
    [root@new55 ~]# type -a alias 
    alias is a shell builtin
    [root@new55 ~]# type -a grep 
    grep is /bin/grep

  • 相关阅读:
    ubuntu下文件安装与卸载
    webkit中的JavaScriptCore部分
    ubuntu 显示文件夹中的隐藏文件
    C语言中的fscanf函数
    test
    Use SandCastle to generate help document automatically.
    XElement Getting OuterXML and InnerXML
    XUACompatible meta 用法
    Adobe Dreamweaver CS5.5 中文版 下载 注册码
    The Difference Between jQuery’s .bind(), .live(), and .delegate()
  • 原文地址:https://www.cnblogs.com/embedded-linux/p/6206052.html
Copyright © 2011-2022 走看看