如何在Ubuntu中将目录添加到
$PATH
并使更改永久生效?$PATH
并使更改永久生效?在.bash_profile中设置的路径只会在bash登录shell(bash -l)中设置。 如果您将路径放入.profile中,它将对整个桌面会话可用。这意味着连metacity也会使用它。
例如:~/.profile:
if [ -d "$HOME/bin" ] ; then
PATH="$PATH:$HOME/bin"
fi
顺便说一下,你可以通过查看进程的环境变量在/proc/[pid]/environ
中检查进程的PATH变量(将[pid]替换为ps axf
中的数字)。例如,使用grep -z "^PATH" /proc/[pid]/environ
bash
作为登录shell时如果存在.bash_profile
或.bash_login
,它不会解析.profile
。根据man bash
:
它按照以下顺序查找~/.bash_profile、~/.bash_login和~/.profile,并从第一个存在且可读的文件中读取并执行命令。
有关.pam_environment
的信息,请参见下面的答案,或者对于交互式非登录shell,请参见.bashrc
,或者通过将脚本放入/etc/profile.d/
全局设置该值适用于所有用户,或使用/etc/X11/Xsession.d/
影响显示管理器会话。
.profile
文件的哪个位置添加路径? - Vineet KaushikPATH="$HOME/bin:$PATH"
那么我应该将它添加进去吗? - Jamie Hutber$WHERE_YOU_INSTALLED_THE_SDK/platform-tools
和 $WHERE_YOU_INSTALLED_THE_SDK/tools
。 - Daniele Segato.profile
文件没有被执行。因此,我不得不将这个放在 .bashrc
文件中。 - Qumber.bashrc
文件,并添加以下行:export PATH="/path/to/dir:$PATH"
.bashrc
或者注销/登录(或重新启动终端)。要获取你的 .bashrc
,只需输入以下命令:$ source ~/.bashrc
.bashrc
”的?你是如何“重新启动终端”的? - isomorphismes.bashrc
不是设置环境变量的正确位置。它们应该放在 .profile
或者 .pam_environment
中。请参考 http://mywiki.wooledge.org/DotFiles。 - geirha.bashrc
而是 .bashrc
:) 或者说 source .bashrc
- Markus Hedlundexport PATH="$PATH:/path/to/dir"
。 - MagePsycho/etc/environment
PATH
定义的地方). /etc/environment
或source /etc/environment
。由于此文件只是一个简单的脚本,它将运行并将新路径分配给PATH
环境变量。要检查,请运行env
并查看列表中的PATH
值。source /etc/environment
来重新加载更改。 - JohnnyAWgksudo
已经被弃用了,你可以直接使用sudo
。 - Unknow0059PATH=$PATH:/path
那样使用变量本身。 - PhoneixS/home/you/.profile
这样的点文件设置路径的方法有一些不足之处。 - Milimetric在/etc/profile.d/
下创建一个新文件
sudo vi /etc/profile.d/SCRIPT_NAME.sh
在文件中添加以下内容:
export PATH="$PATH:YOUR_PATH_WITHOUT_TRAILING_SLASH"
并赋予执行权限
sudo chmod a+x /etc/profile.d/SCRIPT_NAME.sh
pip install cmake
,但是出现了警告:"WARNING: The scripts cmake, cpack and ctest are installed in '/home/q/.local/bin' which is not on PATH." 所以我使用你的脚本export PATH="$PATH:/home/q/.local/bin"
。重启后一切正常运行。 - undefined$PATH:
部分,其中包括现有的 PATH 定义。 - dainhttps://help.ubuntu.com/community/EnvironmentVariables
参考上面的文档,我已经通过以下步骤设置了我的Android SDK路径工具:将该行添加到您的~/.bashrc
文件中。
每次打开终端时都会被调用
编辑: 根据下面的评论,为了更普适的设置,适用于所有的shell(包括在Unity中按下Alt-F2时),将这个行添加到您的~/.profile
文件中。不过最好不要同时这么做,因为如果您打开终端,路径将会被添加两次到您的PATH
环境变量中。
$HOME/.profile
中设置个人配置,或者在/etc/profile
中设置全局配置。但如果只需要针对bash,我想两者都可以。 - Marty Fried~/.bashrc
中,它只会在你打开的终端中生效。例如,如果你按下Alt+F2并尝试从该目录运行命令,它将找不到。如果你将其设置在~/.profile
或~/.pam_environment
中,gnome会话(或者你使用的其他桌面环境)将继承它。在~/.bashrc
中追加PATH也有一个缺点,即如果你从另一个交互式bash shell中打开/执行bash,则它将被多次追加。 - geirha~/.profile
是正确的;那是Ubuntu添加~/bin
目录的地方。而且我承认我在方法数量上有些夸张了——只是一点点而已。 - Marty Fried~/.profile
。 - geirhaPATH=$PATH:/my/path/foo
export PATH
.bashrc
文件,就把它放在.bashrc
里面。在Ubuntu中,图形界面终端不是登录shell,所以.bash_profile
不会被执行。 - koenigdmj.bash_profile
。如果在交互登录时bash找不到.bash_profile
,它会寻找.profile
并使用该文件代替。在Ubuntu中,默认情况下你会有一个.profile
和.bashrc
。如果我们忽略pam_env的话,.profile
是设置环境变量的正确位置。 - geirhaexport PATH=/path/you're/adding:$PATH
添加到/etc/profile
的末尾。~/.bash_profile
的末尾。