可能重复:
如何将目录添加到我的路径?
我创建了一个.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