我想为每个登录我的
linux框的用户执行以下操作:
export PATH=$PATH:~/.path
除了在每个〜/ .bashrc文件中手动添加该行之外,我不知道该怎么做.
另外,我的一个cron工作运行一个程序,我想(为那个cronjob)PYTHONPATH设置为特定的东西.任何.bashrc文件会影响cronjob的环境吗?如何更改cronjob的环境.
此外,我现在很好奇如何更改启动时PATH变量的内容.其他程序似乎在安装时会这样做,那么我该如何做呢?
解决方法
贝壳的环境
从本质上讲,运行进程的任何内容都会在启动时读取配置文件,并且为了影响其环境,您需要访问其配置文件.
对于用户shell,“明显”的地方是.profile,.bashrc,.bash_profile(我想),也许还有其他一些我不记得了.显然,如果你使用zsh,csh,tcsh或者其他任何东西作为shell,会有更多和其他人.
窗口环境读取的初始化文件可能是KDE或Gnome.您在其下运行的特定窗口管理器也可能读取配置文件.我承认即使是我自己的安装,我也不知道这些文件的名称.
最后,/ etc中的所有环境通常都有“主”配置文件.它们为用户提供的东西提供默认值.
我认为安装自己的程序会认真检查各种可能性.各种Linux发行版可能会为此提供一些帮助程序脚本.
cron的
这个更容易.出于安全原因,cron只将几个环境变量传递给子进程,总是如此.我认为USER是其中之一,而MAILTO是另一个.据我所知,没有PATH设置 – 这通常会惹恼新手. cron作业的环境与shell环境完全不同!在环境中你想要的任何东西,你可以在crontab中的命令行上传入,或者你启动一个脚本并让它设置它需要的任何环境.