• Ubuntu下环境变量的设置


    转自http://hi.baidu.com/sujinsujin/item/f3fd3bed56a408ddeb34c9eb

    /etc下:(bash.bashrc[Ubuntu]或bashrc[CentOS]);environment;profile
    普通用户及root用户家目录下:.bashrc;(.profile[Ubuntu]或.bash_profile[CentOS])
    环境变量配置文件
    1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。
    2、/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。
    3、~/.bash_profile: 在登录时用到的第三个文件是.bash_profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行 一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。/etc/bash.bashrc:为每一个运行bash shell的用户执行此文件,当bash shell被打开时,该文件被读取。
    4、~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
    几个文件的优先级:1>2>3
    在 linux下,如果是bash环境,用户登录时读取设置文件的顺序是/etc/profile --> ~/.bash_profile --> ~/.bashrc --> /etc/bash.bashrc。注意在~/.bash_profile这一步,如果没有~/.bash_profile ,则默认读取~/.bash_login,如果没有~/.bash_login 才读取~/.profile。
    根据发行版本的情况,有两个基本的 系统级配置文件:/etc/bash.bashrc和/etc/profile。这些配置文件包含两组不同的变量:shell变量和环境变量。前者只是在 特定的shell中固定(如bash),后者在不同shell中固定。shell变量是局部的,而环境变量是全局的。
    注意:尽量避免修改root用户的环境变量配置文件,因为那样可能会造成潜在的危险。最好不要把当前路径”./”放到PATH里,这样可能会受到意想不到的攻击。
    使用:
    把设置的环境变量给所有用户使用:/etc/bashrc;/etc/profile
    修改全局的环境变量在/etc/profile
    修改某个用户的环境变量在/home/用户名/.bash_profile

    相关命令:
    1、echo显示环境变量
    # echo $HOME
    /root
    2、export设置环境变量
    $ export HELLO=”Hello!”
    3、env显示所有环境变量
    $ env
    4、set显示所有本地定义的shell变量
    $ set
    5、unset清除环境变量
    $ export TEST=”test”
    $ env | grep TEST #此命令有输出,证明环境变量TEST已经存在了
    TEST=test
    $ unset TEST        #注意不是unset $TEST !!!
    $ env | grep TEST #此命令无输出,证明环境变量TEST已经不存在了
    6、readonly设置只读变量(变量不可以被修改或清除)
    $ export TEST=”Test”
    $ readonly TEST

    让/etc/profile的修改立即生效:
    1)$.  /etc/profile          注意:.和/etc之间有空格
    2)$source  /etc/profile
    如果/etc/profile中配置的环境变量无法在root用户下使用,可以用sudo su - 来加载环境变量。
    实践经验:
    在/etc/profile下添加export PATH=$PATH:/sbin
    重启后:
    1)$ifconfig                    可以执行
    2)$sudo su
    #ifconfig                   不可以执行
    3)$sudo su -
    #ifconfig                    可以执行
    4)$su
    #ifconfig                    可以执行
    5)$ sudo -H ifconfig       可以执行


    常见的环境变量
    PATH      决定了shell将到哪些目录中寻找命令或程序
    HOME      当前用户主目录
    HISTSIZE    历史记录数
    LOGNAME     当前用户的登录名
    HOSTNAME    指主机的名称
    SHELL      前用户Shell类型
    LANGUGE     语言相关的环境变量,多语言可以修改此环境变量
    MAIL      当前用户的邮件存放目录
    PS1       基本提示符,对于root用户是#,对于普通用户是$
    PS2       附属提示符,默认是“>”
    通过C程序来访问和设置环境变量
    对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。
    getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。
    setenv()在程序里面设置某个环境变量的函数。
    unsetenv()清除某个特定的环境变量的函数。
    另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。下面的程序可以打印出当前运行环境里面的所有环境变量:
    #include <stdio.h>
    extern char**environ;
    int main ()
    {
    char**var;
    for (var =environ;*var !=NULL;++var)
    printf (”%s “,*var);
    return 0;
    }

  • 相关阅读:
    python3 获取n天后的日期时间
    python3 获取n年前日期
    RequestsDependencyWarning: urllib3 (1.25.2) or chardet (3.0.4) doesn't match a supported version!
    html5 富文本编辑器
    python3 md5 加密
    python3 获取当前日期以及7天后的日期(2016-03-20 11:45:39 形式)
    python3 生成随机手机号
    python 列表 字典转json
    (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)')))
    【Python】时间与时间戳
  • 原文地址:https://www.cnblogs.com/micky1989/p/3307333.html
Copyright © 2020-2023  润新知