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 \n ",*var);
    return 0;
    }

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

    参考文档:
    http://blog.csdn.net/ddviplinux/archive/2009/06/18/4280433.aspx
    Work for fun,Live for love!
  • 相关阅读:
    ASP.NET中常用的33种代码
    AJAX与URL重写404错误解决方法
    在firefox上运行ajax网页时同步操作的问题
    AjaxPro使用说明
    (转)SQL语句优化的34条建议
    javascript 如何操作框架页中的域
    ASP.NET上传下载文件示例,使用webClient实现
    转载:缓存 Cache
    翻译 一些很酷的.Net技巧
    Firefox和IE之间7个JavaScript的差异
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2051028.html
Copyright © 2011-2022 走看看