了解如何在 Linux 中永久设置 $PATH 变量
在 Linux(也是 UNIX)中,$PATH是环境变量,用于告诉 shell 在哪里查找可执行文件。$PATH变量为 Linux 系统提供了极大的灵活性和安全性,可以说它是最重要的环境变量之一。
不要错过: 如何设置和取消设置本地、用户和系统范围的环境变量
位于$PATH目录中的程序/脚本可以直接在 shell 中执行,而无需指定它们的完整路径。在本教程中,您将学习如何全局和本地设置$PATH变量。
首先,让我们看看你当前的 $PATH 值。打开终端并发出以下命令:
$ echo $PATH
结果应该是这样的:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
结果显示以冒号分隔的目录列表。您可以通过编辑用户的 shell 配置文件轻松添加更多目录。
在不同的 shell 中,这可以是:
- Bash shell -> ~/.bash_profile、~/.bashrc 或 profile
- Korn Shell -> ~/.kshrc 或 .profile
- Z shell -> ~/.zshrc 或 .zprofile
请注意,根据您登录相关系统的方式,可能会读取不同的文件。以下是 bash 手册中的内容,请记住,其他 shell 的文件也类似:
/bin/bash The bash executable /etc/profile The systemwide initialization file, executed for login shells ~/.bash_profile The personal initialization file, executed for login shells ~/.bashrc The individual per-interactive-shell startup file ~/.bash_logout The individual login shell cleanup file, executed when a login shell exits ~/.inputrc Individual readline initialization file|
考虑到上述情况,您可以通过将以下行添加到您将要使用的相应文件来向$PATH变量添加更多目录:
$ export PATH=$PATH:/path/to/newdir
当然,在上面的例子中,您应该将“/path/to/newdir”更改为您希望设置的确切路径。一旦您修改了.*rc或.*_profile文件,您将需要使用“source”命令再次调用它。
例如在 bash 中你可以这样做:
$ source ~/.bashrc
下面,您可以看到我的本地计算机上的$PATH环境的示例:
marin@[Example]:[/home/marin] $ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/marin/bin
为用户创建一个本地“bin”文件夹来存放可执行文件其实是个好习惯。每个用户都有单独的文件夹来存储内容。这也是保证系统安全的好办法。
如果您在设置$PATH环境变量时有任何问题或困难,请随时在下面的评论部分提交您的问题。