zoukankan      html  css  js  c++  java
  • Linux环境变量总结

    现在每天测试到时候会与Linux打交道,自然也会用到环境变量了。看了网上几篇文章,结合自己到实践和看法,总结以下Linux的环境变量吧。
    一、什么是环境变量?
    环境变量相当于给系统或用户应用程序设置的一些参数, 具体起什么作用这当然和具体的环境变量相关.
    Linux是一个多用户的操作系统。多用户意味着每个用户登录系统后,都有自己专用的运行环境。而这个环境是由一组变量所定义,这组变量被称为环境变量。用户可以对自己的环境变量进行修改以达到对环境的要求。

    二、定制环境变量
    环境变量是和Shell紧密相关的,它是通过Shell命令来设置的。环境变量又可以被所有当前用户所运行的程序所使用。对于bash来说,可以通过变量名来访问相应的环境变量。
    下面通过几个实例来说明
    1.显示环境变量HOME
    $ echo $HOME
    /home/admin
    2.设置一个新的环境变量NAME
    $ export NAME="Jay"
    $ echo $NAME
    Jay
    3.使用env命令(或export)显示所有的环境变量
    $ env
    HOSTNAME=test
    TERM=vt100
    SHELL=/bin/bash
    HISTSIZE=1000
    SSH_CLIENT=202.xxx.xxx.xxx 53694 22
    CATALINA_BASE=/usr/local/jakarta-tomcat
    SSH_TTY=/dev/pts/0
    ANT_HOME=/usr/local/ant
    JAVA_OPTS=-server
    USER=admin
    ...
    4.使用set(或declare)命令显示所有本地定义的Shell变量
    $ set
    BASH=/bin/bash
    BASH_VERSION='2.05b.0(1)-release'
    CATALINA_BASE=/usr/local/jakarta-tomcat
    CATALINA_HOME=/usr/local/jakarta-tomcat
    ...
    5.使用unset命令来清除环境变量
    $ export NAME="Jay"
    $ echo $NAME
    Jay
    $ unset NAME
    $ echo $NAME
    6.使用readonly命令设置只读变量
    $ export NAME="Jay"
    $ readonly NAME
    $ unset NAME
    -bash: unset: NAME: cannot unset: readonly variable
    $ NAME="New" #会发现此也变量不能被修改
    -bash: TEST: readonly variable

    三、常见的环境变量
    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;
    }

    五、环境变量文件
    通过修改一些相关的环境定义文件来修改环境变量,比如对于多数Linux系统,与环境相关的文件有/etc/profile和~/.bash_profile等。修改完毕后重新登录一次或运行命令source xxx就生效了。
    /etc/profile或/etc/bash.bashrc
    文件中修改环境变量,在这里修改的内容是对所有用户起作用的;
    ~/.profile或~/.bashrc文件进行环境变量的编辑,只对当前用户有用。

  • 相关阅读:
    自定义时间工具类
    http和https
    客户端是什么意思
    19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]
    20.谈谈对mvc的认识。
    18.有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
    17.如何修改SESSION的生存时间。
    16.语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
    14.对于大流量的网站,您采用什么样的方法来解决访问量问题?
    15.用PHP写出显示客户端IP与服务器IP的代码,如何防止用户使用代理的情况?[添加更多详情]
  • 原文地址:https://www.cnblogs.com/lmg-jie/p/8033965.html
Copyright © 2011-2022 走看看