如何将目录添加到我的 PATH?

如何将目录添加到我的 PATH?

可能重复:
如何将目录添加到我的路径?

我创建了一个.bash_aliases包含以下内容的文件:

PATH=$PATH:$HOME/opt/bin

因此它添加/home/myuser/opt/bin$PATH。我这样做是因为我没有这台机器的 root 访问权限。

当我通过 shell 命令行以交互方式运行应用程序时,它们可以毫无问题地理解我的自定义 PATH。但是,如果我在 shell 命令行之外打开应用程序(例如,从 unity dash 中选择),则相同的应用程序无法看到我的自定义 PATH。

我尝试输入shopt -s expand_aliases我的.bash_aliases,但没有成功。

如何为 BASH 以外的环境设置 PATH?

答案1

如果你在 shell 命令行之外运行应用程序会一直使用你的 UID 运行,你可以创建会议范围的环境变量,方法是将它们添加到~/.pam_environment,而不是.bash_aliases

如果你在 shell 命令行之外运行应用程序不会总是使用你的 UID 运行,系统范围的环境变量,方法是将它们添加到/etc/environment,而不是.bash_aliases

然而:创建系统范围的环境变量将影响全部用户,包括 root。如果您设置的变量覆盖了另一个变量,坏的事情会发生。在末尾添加一些东西PATH不会似乎好像这会造成任何破坏,但鉴于您没有 root 权限,您需要系统管理员为您执行此操作,他/她可能会建议您添加它是否安全。他/她是否真的允许您这样做完全是另一回事;任何与用户相关的内容最好保存在其主文件夹内的配置文件中,并且通常不会让用户配置影响整个系统!

答案2

PATH 环境变量不属于 ~/.bash_aliases;最近更好的位置是 ~/.profile 或 ~/.pam_environment。如果您将路径放在 ~/.profile 中,它将可供 X 和使用 X 的窗口管理器使用。编辑 ~/.profile。在该文件末尾添加:

PATH="$PATH:$HOME/opt/bin"

也许您正在使用 Xubuntu?您可能需要改用 ~/.bashrc。还有 ~/.pam_environment:

PATH DEFAULT=${PATH}:~/opt/bin

帮助中心关于环境变量。

~/.bash_aliases 中属于的是命令别名,如下所示:

alias l=ls
alias ll=ls -l
alias la=la -la
alias x=exit
alias b=my-insanely-long-command-i-never-want-to-type-again

相关内容