Joh*_*ood 21
GrzegorzŻur对另一个问题的回答很好地捕捉到了它.不幸的是,它隐藏在许多其他答案中.
有多种方法可以做到这一点.实际的解决方案取决于目的.
变量值通常存储在分配列表或在系统或用户会话开始时运行的shell脚本中.如果是shell脚本,则必须使用特定的shell语法.
系统范围
/etc/environment唯一任务列表.适合加入的全系统的目录像/usr/local/something/bin到PATH变量或定义JAVA_HOME./etc/xprofile启动X Window System会话时执行Shell脚本.这是针对登录X Window System的每个用户运行的.对于PATH对每个用户都有效的条目,它是一个不错的选择/usr/local/something/bin.该文件包含在其他脚本中,因此使用POSIX shell语法而不是用户shell的语法./etc/profile和/etc/profile.d/*Shell脚本.对于仅限shell的系统,这是一个不错的选择.这些文件只能由shell读取./etc/<shell>.<shell>rc.Shell脚本.这是一个糟糕的选择,因为它是单壳特定的.
此外,/etc/environment它不是一个脚本文件,而是由赋值表达式组成,每行一个.由于此文件存储了系统范围的区域设置和路径设置,因此它是大多数引用选项.使用/etc/profile不是优选的.它只存在于指向/etc/bash.bashrc和收集条目/etc/profile.d
用户会话
~/.pam_environment.唯一任务列表.如果它是X Window System会话或shell,则在每个用户会话开始时由PAM加载无关.你不能引用其他变量,包括HOME或PATH因此它限制使用.~/.xprofileShell脚本.当用户登录X Window System系统时执行此操作.这里定义的变量对每个X应用程序都是可见的.用于扩展完美的选择PATH与值,例如~/bin或~/go/bin或定义用户特定GOPATH或NPM_HOME.该文件包含在其他脚本中,因此使用POSIX shell语法而不是用户shell的语法.您通过快捷方式启动的图形文本编辑器或IDE将查看这些值.~/.profileShell脚本.它仅对从终端或终端仿真器启动的程序可见.对于仅限shell的系统,它是一个不错的选择.~/.<shell>rc.Shell脚本.这是一个糟糕的选择,因为它是单壳特定的.
小智 9
对于临时更改:
~$ export PATH=$PATH:~/root/scripts
Run Code Online (Sandbox Code Playgroud)
对于永久更改,您可以将此行添加到/etc/environment文件中,如下所示:
PATH=$PATH:~/root/scripts
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
39722 次 |
| 最近记录: |