Kev*_*rke 11 linux unix path environment-variables macos
许多编程教程要求用户添加一些东西,PATH但没有解释它是什么。PATH向新用户解释命令行的现有资源不是很好。
什么是 UnixPATH变量?
我刚刚下载了一个程序,然后尝试在终端中运行一个命令并得到command not found. 这和 有什么关系PATH?
我PATH用这个命令添加了一些东西,然后事情就成功了:
export PATH=/path/to/some/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
......但是当我command not found下次启动电脑时我又回来了。我怎样才能让它在PATH每次打开终端时都保持不变?
确定像 Git 这样的程序gcc是否已加载到我的计算机上的最佳方法是什么?
小智 17
UNIX 路径是一个环境变量,它是一个目录列表,您可以在其中查找要运行的程序。它允许您避免使用完整的路径名来运行诸如/bin/ls(例如通过放入/bin路径)之类的东西。
例如,路径可能包括:
/bin:/usr/bin:/usr/sbin
Run Code Online (Sandbox Code Playgroud)
这意味着,当您输入命令时xyzzy,它将尝试运行从当前列表中找到的第一个文件:
/bin/xyzzy
/usr/bin/xyzzy
/usr/sbin/xyzzy
Run Code Online (Sandbox Code Playgroud)
(如果它很聪明,它可能会跳过不可执行的文件)。
您可以使用以下命令将内容添加到路径中:
set PATH=/directory/to/add:$PATH:/low/priority/path
Run Code Online (Sandbox Code Playgroud)
它/directory/to/add位于路径搜索列表的开头和/low/priority/path结尾。
但是,这通常仅针对当前shell更改。如果您想在每个 shell 中进行更改,您应该将该行添加到您的一个启动文件中,例如$HOME/.profile或/etc/profile。要使用的正确文件取决于您的 shell 本身以及您如何设置启动文件。告诉它应该去哪里并不总是那么容易,但通常在联机帮助页中解释了您使用的任何 shell 的规则。
您通常可以在路径中使用以下命令之一找到命令:
which cmd
whence cmd
Run Code Online (Sandbox Code Playgroud)
找到cmd可执行文件。例如,在我的 Debian 系统上,我得到以下成绩单:
pax> which ls
/bin/ls
pax> which firefox
/usr/bin/firefox
pax> which xyzzy
pax>
Run Code Online (Sandbox Code Playgroud)
小智 5
什么是?
PATH 环境变量是一个以冒号分隔的目录列表,当您输入命令时,您的 shell 会搜索这些目录。
如何设置?
PATH=$PATH:/your/directory
export PATH
Run Code Online (Sandbox Code Playgroud)
每次打开终端时,如何让它保持在 PATH 上?
将前两行放在里面~/.bash_profile(如果您bash用于终端)。
| 归档时间: |
|
| 查看次数: |
11371 次 |
| 最近记录: |