zoukankan      html  css  js  c++  java
  • shell中对于命令的搜寻顺序

    当你在shell命令行输入一条命令时,shell的搜寻顺序是如何的呢?当你的脚本名字和shell中的函数名字重名,shell是如何决定运行哪一个的?

    在shell中,shell对于命令的搜寻优先级为:

    1 Alias

    2 keyword,如if

    3 Function

    4 Built-in,如cd

    4 PATH中的脚本以及可运行程序

    在shell中,有3个命令command,built-in,enable是专门来解决这种重名问题的。

    command

    command使shell只在Built-in以及PATH中搜寻命令,这个命令比较有用的两个option:

    -v 打印要调起的命令的路径

    -V 比-v选项更详细的信息

    built-in

    built-in使shell专门搜索Built-in命令

    enable

    enable命令可以关闭开始shell的Built-in命令,在enable后面直接接shell的Built-in命令,开启这个Built-in命令,如果使用了-n选项,就是关闭这个Built-in命令。如果enable只使用-n选项,不接任何命令,就打印所有被关闭的Built-in命令。除了-n选项,比较有用的选项还有:

    -p 打印所有enable的Built-in命令

    -a 打印所有的Built-in命令,并且带有开启/关闭信息

    但是,最有效的避免冲突的方式,还是使用命令的绝对路径

  • 相关阅读:
    声明式事务编程
    PlatformTransactionManager
    编码式事务
    事务的ACID
    struts2的工作原理
    通过Callable接口实现多线程
    Struts2 标签
    Struts2基础
    MySQL性能优化(十)-- 主从复制(一主多从)
    JVM学习(一)
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5723628.html
Copyright © 2011-2022 走看看