gpt4 book ai didi

Bash 不支持 $PATH?

转载 作者:行者123 更新时间:2023-11-29 09:48:39 25 4
gpt4 key购买 nike

在 OS X 10.8.3 下,有这样的环境:

$ bash --version
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)
Copyright (C) 2007 Free Software Foundation, Inc.
$ echo $PATH
/Users/r/Desktop/Beryl/usr/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:~/bin:/usr/local/bin:/usr/X11R6/bin

在 $PATH 中有两个 irb 副本,正如 which 正确报告的那样:

$ which -a irb
/Users/r/Desktop/Beryl/usr/bin/irb
/usr/bin/irb

但是当我运行 irb 时,我希望得到/Users/r/Desktop/Beryl/usr/bin/irb;相反,我得到/usr/bin/irb:

$ irb --version
irb 0.9.5(05/04/13) # this is the wrong version
$ /Users/r/Desktop/Beryl/usr/bin/irb --version
irb 0.9.6(09/06/30)
$ /usr/bin/irb --version
irb 0.9.5(05/04/13)

我没有任何别名。我应该提到我通过执行这个脚本启动了 bash:

#!/bin/sh
export PATH=/Users/r/Desktop/Beryl/usr/bin:${PATH}
exec /bin/bash

无论如何,为什么 bash 没有在 $PATH 中运行第一个实例?

最佳答案

使用以下内容确定从何处执行 irb:

type irb

要使 bash shell 忘记所有记住的位置,请使用:

hash -r

bash shell 似乎将 irb 的先前位置保存在内部散列中。

在此处查看有关 bash 中散列的详细信息:http://linux.about.com/library/cmd/blcmdl1_hash.htm

关于Bash 不支持 $PATH?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com