Linux 路径环境变量
在 Linux 中,PATH
环境变量决定程序的位置。它是放置二进制文件或符号链接的目录的文件路径列表。当输入程序调用时,当前 shell 将在 PATH
中查找相应的二进制文件。
本文将讨论如何编辑 PATH
环境变量以查找不在文件系统上特定位置的程序,假设使用 Bash shell
命令行。
Linux 中 PATH
的使用
默认情况下,你使用的 shell 将查看 PATH
环境变量以在 PATH
指定的目录中定位命令。
例如,如果你输入 cat
,一个常见的 Linux 实用程序,shell 通常会在目录中查找,例如 /usr/bin
、/usr/local/bin
、/usr/sbin
,寻找名为 cat
的程序,并执行它。
在 Linux 中添加到 PATH
环境的方法
有时,你可能将程序安装在系统上通常不在 PATH
上的位置,例如你的主文件夹,在这种情况下你没有根访问权限来安装到/usr/ 等位置斌
。你可以在 PATH
环境变量前面添加一个路径来执行此操作。
假设你想将路径 /home/$USER/local/bin
- 其中 $USER
是一个包含你的用户名的 shell 变量,并且每次启动新的 shell 会话时都预定义 - 到环境的 PATH
。
在 Bash 中,你可以使用以下方法执行此操作:
export PATH=/home/$USER/local/bin:$PATH
export
命令确保更改后的 PATH
将导出到任何子 shell 或在当前 shell 中调用的其他 child
命令。
使用 export
通常是最安全的选择,除非你只需要更改当前 shell 的 PATH
但调用使用旧 PATH
值的子进程。请记住,你只能添加包含命令的目录,而不是命令本身的实际路径。
你也可以选择设置 PATH
而不先导出,运行命令,然后在命令完成后导出新的 PATH
,如图:
PATH=/home/$USER/local/bin:$PATH
command-that-uses-old-PATH
export PATH
如果在脚本中运行时需要使用诸如 $USER
之类的变量,你应该使用一个字符串来分配给 PATH
,如下所示:
export PATH="/home/$USER/local/bin:$PATH"
在某些情况下,在命令位置的优先级无关紧要的情况下,例如在添加新命令时,你可能希望将新路径附加到 PATH
而不是预先添加它。
你可以按如下方式附加到 PATH
:
export PATH=$PATH:/path/to/new/program