事情是这样的:
- 我使用 MS RDP 远程访问 Ubuntu 桌面
- 我把 brew 安装添加到了 PATH,然后又安装了一些应用程序
- 我添加了一堆别名
在任何给定时间,如果我的会话进入休眠或超时状态,我重新登录后无法找到 brew。然后我需要将 Brew 重新应用到 $PATH 并重新创建我的别名。
我究竟做错了什么?!?!?!?
非常感激你的帮助。
答案1
对环境变量的更改仅在当前 shell 中有效,即键入命令时处于活动状态的 shell。出口变量和别名仅在当前 shell 中有效和所有子 shell(即,当您通过从当前终端加载终端仿真器来打开新终端时)。
要使持久变量定义和别名定义在您登录后立即有效:
在您的文件中包括环境变量定义(例如
PATH
)~/.profile
。该文件在您登录时被读取,并且可供您从菜单或终端启动的任何应用程序使用。在您的文件中包括别名定义
~/.bashrc
。每次您打开新的交互式终端时都会读取该文件,因此该文件在任何终端中都可用(但其他地方不可用)。
注意:虽然您的别名定义也可以包含在中profile
,但将它们包含在其中更有意义,~/.bashrc
因此它们仅在交互式终端中定义而不是在其他地方定义。
答案2
$PATH 环境变量(与任何变量一样)对于终端会话来说是暂时的。如果您的会话超时,终端进程(可能是 bash)将终止,并且您的变量修改将丢失。如果您想使其永久生效,您必须编辑 ~/.bashrc 或 ~/.profile
看如何修改 PATH,以便更改在每个终端会话中都可用有关如何编辑这些内容以进行永久 PATH 修改的更多信息。
您还必须将别名放在其中一个文件中,以便下次重新打开终端时可以使用它们。