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命令,并且带有开启/关闭信息

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

  • 相关阅读:
    对话框风格的窗口
    对话框
    Notification的功能与用法
    滚动视图(ScrollView)的功能与用法
    css----overflow(布局)
    css----display(显示) 与 Visibility(可见性)
    css----position(定位)
    Vue.js----router(路由)
    HTTP协议-Cookie和Session详解
    MySql 复制表命令
  • 原文地址:https://www.cnblogs.com/chaoguo1234/p/5723628.html
Copyright © 2011-2022 走看看