在 Ubuntu 上永久更改 PATH [关闭]

Posted

技术标签:

【中文标题】在 Ubuntu 上永久更改 PATH [关闭]【英文标题】:change PATH permanently on Ubuntu [closed] 【发布时间】:2012-07-27 09:43:35 【问题描述】:

我想将值“:/home/me/play/”添加到 PATH 用于安装 Play!框架。 所以我运行了这个命令:

PATH=$PATH:/home/me/play

成功了。但在我下次检查时,值又变回了旧值。

所以我想我没有“保存”新值,对吧?

你是怎么做到的?

【问题讨论】:

您可以重新考虑使用更长的PATH;在 Ubuntu 上,如果存在 $HOME/bin,它会添加到您的 PATH;我建议您将所有可执行文件添加到您的 $HOME/bin 中。也许您应该重新配置并重建您的Play! 框架。经历很长的PATH(或LD_LIBRARY_PATH)是一场噩梦。 属于 ———> askubuntu.com @VladLazarenko:为什么不unix.SE.com? (我不太明白有什么区别) 【参考方案1】:

添加

export PATH=$PATH:/home/me/play

到您的~/.profile 并执行

source ~/.profile 

为了立即反映对您当前终端实例的更改。

【讨论】:

source ~/.bashrc 立即反映更改。 稍微概括一下——将该行添加到适合您的用例的任何配置文件中。 ~/.bashrc 不适用,如果您使用另一个 shell,或者如果您需要将更改反映在非登录 bash shell 和其他复杂性中。 正如 Tripleee 指出的那样,将 export 和赋值合并到一个命令中仅适用于 Bash。为了 POSIX 兼容性,将其写为两个命令。此外,要将其变为显式命令:echo "PATH=$PATH:/home/me/play; export PATH" >> ~/.profile; . ~/.profile 有人能解释一下每一行之后会发生什么吗? source 命令有什么作用? 从文件中读取命令并在当前shell环境中执行。【参考方案2】:

在您的主目录中的.profile 文件中添加以下行(使用vi ~/.profile):

PATH=$PATH:/home/me/play
export PATH

然后,要使更改生效,只需在终端中输入:

$ . ~/.profile

【讨论】:

+1:这比.bashrc 更正确,因为.profile 被所有开箱即用的 Bourne 兼容 shell 读取。 @tripleee 但.profile 需要重新启动,对吗? (它对我不起作用,而且我打开的应用太多需要重启) 您可以. ~/.profile 让更改在您当前的 shell 中立即生效。 echo $PATH 验证更改。 在 Ubuntu 上这个 ($ . ~/.profile) 有效,而 source ~/.bashrc 无效【参考方案3】:

尝试在 ~/.bashrc 文件中添加export PATH=$PATH:/home/me/play

【讨论】:

@SperanskyDanil 必须是~/.bashrc,前导. 它现在可以工作,我假设我需要重新启动我的机器才能确定。【参考方案4】:

假设您要为系统上的所有用户添加此路径,请将以下行添加到您的 /etc/profile.d/play.sh(可能还有 play.csh 等):

PATH=$PATH:/home/me/play
export PATH

【讨论】:

export VAR=value 是 Bashism;您想将分配和导出分离为两个单独的命令以实现 POSIX 兼容性。 不需要它是可执行的。该文件是“来源”,而不是“执行”

以上是关于在 Ubuntu 上永久更改 PATH [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

永久存储数据的方法[关闭]

Linux Mint - 永久添加环境变量[关闭]

ubuntu中如何关闭防火墙?

ubuntu 设定永久dns

将更改(永久)保存在数组列表中?

如何启动,关闭和设置ubuntu防火墙