zoukankan      html  css  js  c++  java
  • linux下的环境变量

    bashrc与profile都用于保存用户的环境信息,bashrc用于交互式non-loginshell,而profile用于交互式login shell。

    /etc/profile,/etc/bashrc 是系统全局环境变量设定
    ~/.profile,~/.bashrc用户目录下的私有环境变量设定
     

    当登入系统获得一个shell进程时,其读取环境设置脚本分为三步:

    1. 首先读入的是全局环境变量设置文件/etc/profile,然后根据其内容读取额外的文档,如/etc/profile.d和/etc/inputrc
    2. 读取当前登录用户Home目录下的文件~/.bash_profile,其次读取~/.bash_login,最后读取~/.profile,这三个文档设定基本上是一样的,读取有优先关系
    3. 读取~/.bashrc

    ~/.profile与~/.bashrc的区别:

    • 这两者都具有个性化定制功能
    • ~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
    • ~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

    以下给出几种centos下环境变量的修改方式

    1.直接运行命令

    export PATH=$PATH:/usr/local/php/bin //此处我设置的php的

    使用这种方法,只会对当前回话生效,也就是说每当登出或注销系统以后,PATH 设置就会失效,只是临时生效。

    2.修改~/.bash_profile文件,修改文件中 PATH 一行,将 /usr/local/php/bin 加入到 PATH=$PATH:$HOME/bin 一行之后(注意以冒号分隔),保存文件并退出,执行 source ~/.bash_profile 使其生效,这种方法只对当前登陆用户生效。

    3.修改/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc),影响所有用户使用的bash shell。/etc/bashrc顾名思义是为初始化bash shell而生,在bash shell打开时运行。这里bash shell有不同的类别:登录shell和非登陆shell,登录shell需要输入用户密码,例如ssh登录或者su - 命令提权都会启动login shell模式。非登陆shell不会执行任何profiel文件;交互shell和非交互shell,提供命令提示符等待用户输入命令的是交互shell模式,直接运行脚本文件是非交互shell模式,一般情况下非交互shell模式不执行任何bashrc文件。根据以上情况,选择是否修改/etc/bashrc。

  • 相关阅读:
    CF833 A The Meaningless Game
    [Noip2016]蚯蚓 (单调队列)
    [NOI2003]逃学的小孩 (贪心+树的直径+暴力枚举)
    [POI2014]FAR-FarmCraft (树规+贪心)
    洛谷P2566 [SCOI2009]围豆豆(状压dp+spfa)
    [POJ1852] Ants(思维题)
    树的深度(我觉得没毛病)
    HDU
    剑指offer相关问题
    CC150相关问题
  • 原文地址:https://www.cnblogs.com/liujiaq/p/6727651.html
Copyright © 2011-2022 走看看