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命令,并且带有开启/关闭信息
但是,最有效的避免冲突的方式,还是使用命令的绝对路径
shell中对于命令的搜寻顺序的更多相关文章
- [日期工具分享][Shell]为特定命令依次传入顺序日期执行
[日期工具分享][Shell]为特定命令依次传入顺序日期执行 使用方式: <本脚本文件名(必要时需要全路径)> <要执行的命令所在的文件名> <开始日期> < ...
- javascript 的Date 格式化, 模仿shell中date命令的格式
原文:javascript 的Date 格式化, 模仿shell中date命令的格式 shell 中显示当前的日期 [root@localhost]$ date '+%Y-%m-%d %H:%M:%S ...
- (转)shell中test命令方法详解
test命令用法.功能:检查文件和比较值 shell中test命令方法详解 原文:https://www.cnblogs.com/guanyf/p/7553940.html 1)判断表达式 if te ...
- shell 中test命令
test可用于测试表达式,支持测试的范围包括:字符串比较,算术比较,文件存在性.属性.类型等判断.例如,判断文件是否为空.文件是否存在.是否是目录.变量是否大于5.字符串是否等于"longs ...
- SHELL脚本--多命令逻辑执行顺序
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html Linux中可以使用分号“;”.双and号“&& ...
- shell中wait命令详解
wait命令介绍 wait [作业指示或进程号] 1.等待作业号或者进程号制定的进程退出,返回最后一个作业或进程的退出状态状态.如果没有制定参数,则等待所有子进程的退出,其退出状态为0. 2.如果是s ...
- 书写优雅的shell脚本(六)- shell中的命令组合(&&、||、())
shell 在执行某个命令的时候,会返回一个返回值,该返回值保存在 shell 变量 $? 中.当 $? == 0 时,表示执行成功:当 $? == 1 时,表示执行失败. 有时候,下一条命令依赖前 ...
- shell 脚本控制命令的执行顺序
&&,||,(),{},& 五个符号的运用shell脚本执行命令的时候,有时候会依赖于前一个命令是否执行成功.而&&和||就是用来判断前一个命令执行效果的. 也 ...
- [转]shell中 source命令即点空格后面再跟可执行文件的说明
这里记录的是在一个shell脚本里面使用. ./file.sh 和./file.sh 的区别,本文参考了http://www.lslnet.com/linux/dosc1/39/linux-28353 ...
随机推荐
- javascript 滚动条下拉导航fixed
<!doctype html> <html> <style> body{ margin:; padding:; } #top{ background:#; widt ...
- php 被抛弃使用的函数
call_user_method()(使用 call_user_func() 替代) call_user_method_array() (使用 call_user_func_array() 替 ...
- python查看模块及相关函数帮助
Question: 如何查看正则表达式模块re及其相关函数的意义 1.终端命令行下 python >> import re >> help(re) Help on module ...
- Python3 如何优雅地使用正则表达式(详解七)
常见问题 正则表达式是一个非常强大的工具,但在有些时候它并不能直观地按照你的意愿来运行.本篇我们将指出一些最常见的错误. 使用字符串方法 有时使用 re 模块是个错误!如果你匹配一个固定的字符串或者单 ...
- 摇滚吧HTML5!有声前端交互!(Hello, Jsonic!)
软件工程师们摆弄1和0编写他们的乌托邦,音乐人门把玩12平均律上的音符构筑他们的伊甸园.最近,我偶然看了<蓝色骨头>这部电影,片中的男主角是位黑客,同时又兼具音乐创作的才华.在现实生活中, ...
- 上传文件 file upload 学习笔记
这里我只会说说一些完成 file upload 的基础 API. 很多项目我们需要上传文件. 有简单的 input file, 有需要验证的,有需要压缩的(img),有需要分段的(video),有需要 ...
- 30种IT技能让你年薪过10万美元!
科技行业的高薪岗位向来不少,但在不断变化的职场中,热门技能却随时在变:今天的热门技术,明天可能就会过时.美国求职网站 Dice.com 最近发布了 2015 年薪酬报告,通过对 23,470 位 IT ...
- 关于我的FGC的OAuth2.0认证。
这个名字估计很冷门,估计不会有人看到吧,我猜测的. (阅读以下全文之前请先搞定翻^#$%@#墙这件事.昨天看了一个笑话说墙之父方校长说自己有六个VPN账号,只是为了测试自己的墙好用还是VPN好用.哈哈 ...
- 扩展Visual Studio IDE
安装visual studio 2012 SDK 下载visual studio SDK. 安装可能遇到的问题 安装时报错:Visual Studio 2012 Install Fails: Prog ...
- O - 覆盖的面积 - hdu 1255(求面积)
分析:求一层的面积覆盖是非常简单的事情,不过多层面积覆盖应该怎么搞???也是比较简单的事情,只需要用两个变量记录就好了,一个记录覆盖一次的,一个记录覆盖两次的,就很容易解决了 ************ ...