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!
  • 相关阅读:
    trackr: An AngularJS app with a Java 8 backend – Part III
    trackr: An AngularJS app with a Java 8 backend – Part II
    21. Wireless tools (无线工具 5个)
    20. Web proxies (网页代理 4个)
    19. Rootkit detectors (隐形工具包检测器 5个)
    18. Fuzzers (模糊测试器 4个)
    16. Antimalware (反病毒 3个)
    17. Debuggers (调试器 5个)
    15. Password auditing (密码审核 12个)
    14. Encryption tools (加密工具 8个)
  • 原文地址:https://www.cnblogs.com/allenblogs/p/2051028.html
Copyright © 2011-2022 走看看