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。

  • 相关阅读:
    C# 进程 与 线程
    Micro 设计文档
    asp.net core 3.0 身份认证 替换为自已的提供程序 AuthenticationStateProvider replace to SelfAuthenticationStateProvider
    https://github.com/commonsensesoftware/More
    .net core中使用Automapper
    使用EntityFramework Core和Enums作为字符串的ASP.NET Core Razor页面——第三部分
    ABP邮件发送
    .net Core中实现SHA加密
    .net c# 文件分片/断点续传之下载--客户端
    .net core 下监控Sql的执行语句
  • 原文地址:https://www.cnblogs.com/liujiaq/p/6727651.html
Copyright © 2011-2022 走看看