Linux--shell寻找命令的顺序

日期:20171114


同名的疑问

不知道大家有没有想过,如果两个命令同名,会执行哪一个?
例如,我写了一个程序,名字为cd,而且还放在PATH路径下,那么执行cd时,会是原cd,还是我写的cd?


shell寻找命令的顺序

其实呢,shel在执行命令时,并不是直接就在PATH路径中查找,而是按照固定的位置依次寻找命令。搜索顺序如下,
1、别名,使用alias创建的命令。
2、关键字,如if,for。
3、函数
4、内置命令,如cd,pwd等
5、外部命令,在PATH路径中寻找


直接“定位”

如果我想执行的是我自己的程序cd呢?或者跳过1,2,3直接执行内置命令呢?
那么这时候就用到commandbuiltin这两个命令了。
command,执行PATH下的命令。
builtin,执行内置命令。


查询命令类型(type)

当你想知道你所执行的命令究竟是别名,还是内置,还是自己写的程序。。。
这时候type就可以上场啦。


关闭内置命令(enable)

发现一个有趣的东东,enable。
enable是一个内置命令,可以启用或禁用内置命令。(enable还能关闭自己呢!至于关闭后,怎么再开启,那就是个问题了。)


授人以渔

很多时候在想,对于书里面的知识点,作者是从哪里学到的呢?从何可以获得更多关于书上某个点的知识?
为了这些问题,我决定在每篇博客中,添加博客内容的来源。

那么这篇博客,是看了,

《Shell编程从入门到精通》,张昊,程国刚。


Linux命令学习方法

除了书上或者网站能学习到linux命令,还可以利用man,info,和help。

man和info多数是查外部命令。
而查内置命令,要用help喔!


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值