我的 $PATH 怎么了?

我的 $PATH 怎么了?

我正在尝试通过添加目录来使我的个人 cmake 安装成为用户的默认选项PATH,但我很困惑,我希望得到一些帮助。

我远程登录到某个 Linux 环境。如果我输入,echo $0我会得到-tcsh输出。我在网上找到的所有内容都说 tcsh 中的 PATH 变量是用空格分隔的,但如果我输入,echo $PATH我会得到一个用 分隔的目录列表:。这类似于 bash。

如果我输入PATH=foo,我会得到Command not found。如果我尝试set PATH = foo,我可以echo $PATH得到foo。这类似于 tcsh。

如果我输入,which cmake我会得到/bin/cmake。如果我使用set PATH = foo将我个人的 cmake 安装添加到 的开头PATH,我仍然会得到/bin/cmake。这似乎PATH根本没有被使用。

我如何which cmake找到我的安装,以及我遗漏了什么导致上述情况让我如此困惑?

答案1

tcsh 中的空格分隔搜索路径是$path。请注意,变量名区分大小写。

> echo $path
/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin
> echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin

添加新路径的工作方式如下:

set path = ($path /usr/local/sbin)

它还修改$PATH变量以使其匹配。

请记住,要覆盖系统二进制文件,$path必须首先添加。

相关内容