在 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章