Hon*_*ear 4 path environment-variables profile
我想编辑我的$PATH
环境变量。根据几个教程和其他来源(例如这个问答),最常见的方法是编辑~/.profile
. 但是,对我来说,不存在这样的文件。我能做什么?(在某些系统上是否有不同的名称?我应该创建它吗?那里需要什么?还有其他方法吗?)
我是网络集群上的用户,显然我不想编辑任何全局环境变量。我之前编辑~/.bashrc
过为我的用户更改了一些内容,并且有几个 -~/.
文件,但不是~/.profile
.
我使用的是 Ubuntu 16.04.2 LTS 代号:Xenial。echo $PATH
只给了我一些全局 bin 目录,但是在安装了一些用户特定的 bin(到/path/to/home~/expanded/.local/bin/
)之后,我只想将它添加到 PATH。
如果你有一个~/.bash_profile
文件,那么编辑它(因为你似乎正在使用bash
(因为你在 Linux 上并且你提到有一个~/.bashrc
你之前编辑过的文件))。如果不存在,bash
shell 只会尝试读取。如果两个文件都不存在,您可以创建.~/.profile
~/.bash_profile
~/.bash_profile
您可能要添加的行是
PATH="$HOME/.local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
或者
PATH="$PATH:$HOME/.local/bin"
Run Code Online (Sandbox Code Playgroud)
取决于您是否希望/需要首先或最后搜索添加的目录。
不需要,export
因为PATH
变量已经导出。
$HOME
与 相同~
,但恕我直言,在 shell 脚本中更具表现力。它也表现为一个适当的变量,而~
不是。参见例如为什么波浪号 (~) 不在双引号内展开?
另请注意,路径/
在 Unix 上用正斜杠 ( )分隔,而不是反斜杠 ( \
),因此您需要~/.bash_profile
而不是~\.bash_profile
.
大多数sh
类似 shell(其中bash
之一).profile
在作为登录 shell 启动时读取用户的主目录。这就是为什么您链接到提及.profile
而不是的答案.bash_profile
;问题中没有提到使用的特定外壳。
bash
如果存在自己的特殊启动文件,某些 shell(例如)将忽略它。