Jos*_*gan 70 bash environment-variables
我想添加一个目录来搜索我的搜索路径。我知道我必须修改PATH环境变量。但是,我希望更改是永久性的,这样对于我打开的每个终端 (bash) 窗口,它始终有效。
https://help.ubuntu.com/community/EnvironmentVariables 中有大量令人困惑且可能相互冲突的信息
我正在使用 Ubuntu 10.04。假设我想添加/usr/local/foo到我的PATH. 哪个文件(.bashrc,.profile,.bash_login,等...),我应该修改,应该怎么新线(S)是什么样子?
Ral*_*alf 90
以下命令将路径添加到当前路径:
export PATH=$PATH:/my/custom/path
Run Code Online (Sandbox Code Playgroud)
如果你想让你的设置每次都执行这个命令,你可以在很多地方放置它。当您登录时,以下脚本将按此顺序执行:
/etc/profile (which starts by loading everything in /etc/profile.d)
~/.profile (which starts by loading ~/.bashrc if you are running bash)
Run Code Online (Sandbox Code Playgroud)
笔记
~/.profile 只有当加载~/.bash_profile和~/.bash_login不存在。否则,至少 bash 将改为加载它们。建议使用.profile而不是 bash 特定的脚本。因此,如果您在这些尝试中创建了.bash_login,请立即将其删除。
~/.bashrc仅当您正在运行交互式会话时才加载。(带有提示的东西,您可以在其中实际键入内容)。
~/.bashrc每次打开新终端时都会一次又一次地加载。因此,gnome-terminal 中的一个新选项卡,一个新的虚拟终端等。因此,即使您没有再次登录,.bashrc每次打开新 shell 时都会加载(从而重置其环境)。
像byobu这样的东西应该真正进入.profile,(否则它不会起作用;-)
.profile如果您希望它们在交互式会话之外工作,则应该进入路径之类的内容。(比如当你在 GNOME 中按Alt+F2时)
Jos*_*gan 20
我通过修改让它工作 ~/.profile
看起来将 ~/bin 添加到我的路径是一个不好的例子,因为 ~/.profile 中已经有代码可以自动执行此操作(如果目录存在)。
要将 usr/local/foo 目录添加到我以后每个会话的路径中,我在 .profile 的末尾添加/编辑以下行:
export PATH=$PATH:/usr/local/foo
Run Code Online (Sandbox Code Playgroud)
但是,要使其生效,我需要注销并重新登录(简单地关闭终端窗口并打开一个新窗口不起作用)。
小智 7
要重新加载 .profile 并在不注销/登录的情况下更改效果,请运行:
source ~/.profile
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
225339 次 |
| 最近记录: |