Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
adoyle
V2EX  ›  Linux

自己写了一个 /usr/local/bin/cd,但是每次调用还是 /usr/bin/cd

  •  
  •   adoyle ·
    adoyle-h · Oct 17, 2015 · 4787 views
    This topic created in 3885 days ago, the information mentioned may be changed or developed.

    自己写了一个 /usr/local/bin/cd,用于包装 /usr/bin/cd,在之上加了一些自己的功能。
    但是每次调用 cd 调用的还是那个 /usr/bin/cd

    which cd 输出的是 /usr/local/bin/cd 。
    echo $PATH,/usr/local/bin 是在 /usr/bin 之前。

    实在不懂为什么。

    7 replies    2015-10-17 21:57:23 +08:00
    402124773
        1
    402124773  
       Oct 17, 2015
    先用 type cd 命令看看,
    然后在 bashrc 中将 cd 命令 alias 到你的 /usr/local/bin/cd 应该可以
    KDr2
        2
    KDr2  
       Oct 17, 2015
    你确定有 /usr/bin/cd 这东西?
    lululau
        3
    lululau  
       Oct 17, 2015   ❤️ 2
    type -a cd

    你会明白的, shell 用的一个叫做 cd 的 built command. 不是你的 /usr/local/bin/cd ,也不是 /usr/bin/cd

    其实我老早也发现了有个 /usr/bin/cd ,一直不明白 /usr/bin/cd 是干吗用的,看到这个帖子就搜了一下,答案在这里:

    http://unix.stackexchange.com/questions/50058/what-is-the-point-of-the-cd-external-command
    wd
        4
    wd  
       Oct 17, 2015 via iPhone
    cd 是 bash 内置命令吧…
    choury
        5
    choury  
       Oct 17, 2015
    cd 是 shell 内建命令,没有执行程序
    adoyle
        6
    adoyle  
    OP
       Oct 17, 2015
    原来是这样,感谢楼上们的指点。
    alias 可行,谢谢 @402124773
    又学到新知识了,谢谢 @lululau
    Tink
        7
    Tink  
    PRO
       Oct 17, 2015
    这也就是为啥没有 sudo cd 一说
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2782 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 15:11 · PVG 23:11 · LAX 08:11 · JFK 11:11
    ♥ Do have faith in what you're doing.