“导出路径”后继续获得相同的结果

アレッ*_*ックス 4 shell path environment-variables

我正在这样做:

$ which cabal
/usr/bin/cabal
$ export PATH=$PATH:$HOME/.cabal/bin
$ which cabal
/usr/bin/cabal
Run Code Online (Sandbox Code Playgroud)

我期望能获得/.cabal/bin/cabal$ which cabal在此之后(此路径存在)。但我什至在重新打开终端后都没有。怎么来的?

gol*_*cks 7

中的路径$PATH按顺序搜索。这允许您使用以下命令覆盖系统默认值:

export PATH=$HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)

$HOME/bin现在是第一个(最高优先级)路径。你反过来做了,使它成为最后(最低优先级)路径。当 shell 查找时,它使用它找到的第一个匹配项。

如果不清楚,这一切都通过连接字符串来工作。一个比喻:

WORD=bar
WORD=foo$WORD
Run Code Online (Sandbox Code Playgroud)

$WORD现在是foobar。该:所使用$PATH的文字,你可以用看echo $PATH