扩展阅读
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux命令大全详细分类介绍及常用linux命令文档手册下载
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • linux c下利用srand和rand函数生成随机字符串
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux下chmod命令详细介绍及用法举例
  • Windows2000和Linux双操作系统,Linux系统有问题,我直接把Linux分区删除后,Windows2000进不去了,怎么办???
  •  
    当前位置:  操作系统>Linux

    Linux下如何查看,设置环境变量并立即生效

     
        发布时间:2014-5-12  


        本文导语:  Linux的变量种类  按变量的生存周期来划分,Linux变量可分为两类:  永久的:需要修改配置文件,变量永久生效。  临时的:使用export命令声明即可,变量在关闭shell时失效。  设置变量的三种方法 ...

       Linux变量种类

      按变量的生存周期来划分,Linux变量可分为两类:

       永久的:需要修改配置文件,变量永久生效

       临时的:使用export命令声明即可,变量在关闭shell失效

      设置变量的三种方法

      1  在/etc/profile文件中添加变量【对所有用户生效(永久的)】

      用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。

      例如:编辑/etc/profile文件,添加CLASSPATH变量

      # vi /etc/profile

      export classpath=./java_home/lib;$java_home/jre/lib

      注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。

      2  在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】

      用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

      例如:编辑guok用户目录(/home/guok)下的.bash_profile

      $ vi /home/guok/.bash.profile

      添加如下内容

      export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

      注:修改文件后要想马上生效还要运行$ source /home/guok/.bash_profile不然只能在下次重进此用户时生效。

       3 直接运行export命令定义变量【只对当前shell(BASH)有效(临时的)】

      在shell的命令行下直接使用[export 变量名=变量值] 定义变量,该变量只在当前的shell(BASH)或其子shell(BASH)下是有效的,shell关闭了,变量也就失效了,再打开新shell时就没有这个变量,需要使用的话还需要重新定义。

      环境变量的查看

      1 使用echo命令查看单个环境变量。例如:

      echo $PATH

      2 使用env查看所有环境变量。例如:

      env

      3 使用set查看所有本地定义的环境变量。

      unset可以删除指定的环境变量。

      常用的环境变量

      PATH 决定了shell将到哪些目录中寻找命令或程序

      HOME 当前用户主目录

      HISTSIZE 历史记录数

      LOGNAME 当前用户的登录名

      HOSTNAME 指主机的名称

      SHELL   当前用户Shell类型

      LANGUGE  语言相关的环境变量,多语言可以修改此环境变量

      MAIL   当前用户的邮件存放目录

      PS1   基本提示符,对于root用户是#,对于普通用户是$


      常用的环境变量操作

      1. 显示环境变量HOME

      $ echo $HOME

      /home/redbooks

      2. 设置一个新的环境变量hello

      $ export HELLO="Hello!"

      $ echo $HELLO

      Hello!

      3. 使用env命令显示所有的环境变量

      $ env

      HOSTNAME=redbooks.safe.org

      PVM_RSH=/usr/bin/rsh

      Shell=/bin/bash

      TERM=xterm

      HISTSIZE=1000

      ...

      4. 使用set命令显示所有本地定义的Shell变量

      $ set

      BASH=/bin/bash

      BASH_VERSINFO=([0]="2"[1]="05b"[2]="0"[3]="1"[4]="release"[5]="i386-redhat-linux-gnu")

      BASH_VERSION='2.05b.0(1)-release'

      colors=/etc/dir_colors.xterm

      COLUMNS=80

      DIRSTACK=()

      DISPLAY=:0.0

      ...

      5. 使用unset命令来清除环境变量

      set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

      $ export TEST="Test..." #增加一个环境变量TEST

      $ env|grep TEST #此命令有输入,证明环境变量TEST已经存在

      TEST=Test...

      $ unset $TEST #删除环境变量TEST

      $ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

      6. 使用readonly命令设置只读变量

      如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

      $ export TEST="Test..." #增加一个环境变量TEST

      $ readonly TEST #将环境变量TEST设为只读

      $ unset TEST #会发现此变量不能被删除

      -bash: unset: TEST: cannot unset: readonly variable

      $ TEST="New" #会发现此也变量不能被修改

      -bash: TEST: readonly variable

      环境变量的设置位于/etc/profile文件

      如果需要增加新的环境变量可以添加下属行

      export path=$path:/path1:/path2:/pahtN


       更多环境变量操作举例


    1. Linux查看环境变量显示环境变量HOME

    $ echo $HOME/home/redbooks

    2. Linux查看环境变量设置一个新的环境变量hello

    $ export HELLO=”Hello!”

    $ echo $HELLO

    Hello!

    3. Linux查看环境变量使用env命令显示所有的环境变量

    $ env

    HOSTNAME=redbooks.safe.org

    PVM_RSH=/usr/bin/rsh

    SHELL=/bin/bash

    TERM=xterm

    HISTSIZE=1000

    4. Linux查看环境变量使用set命令显示所有本地定义的Shell变量

    $ set

    BASH=/bin/bash

    BASH_VERSINFO=([0]=”2″[1]=”05b”[2]=”0″[3]=”1″[4]=”release”[5]=”i386-redhat-Linux-gnu”)

    BASH_VERSION=’2.05b.0(1)-release’

    COLORS=/etc/DIR_COLORS.xterm

    COLUMNS=80

    DIRSTACK=()

    DISPLAY=:0.0

    5. Linux查看环境变量使用unset命令来清除环境变量

    set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下:

    $ export TEST=”Test…” #增加一个环境变量TEST

    $ env|grep TEST #此命令有输入,证明环境变量TEST已经存在了

    TEST=Test…

    $ unset $TEST #删除环境变量TEST

    $ env|grep TEST #此命令没有输出,证明环境变量TEST已经存在了

    6. Linux查看环境变量使用readonly命令设置只读变量

    如果使用了readonly命令的话,变量就不可以被修改或清除了。示例如下:

    $ export TEST=”Test…” #增加一个环境变量TEST

    $ readonly TEST #将环境变量TEST设为只读

    $ unset TEST #会发现此变量不能被删除

    -bash: unset: TEST: cannot unset: readonly variable

    $ TEST=”New” #会发现此也变量不能被修改

    -bash: TEST: readonly variable


        LINUX让环境变量立即生效的方法

    1.如果在当前的Shell下打上exprot env=arg

    那么在本Shell下生成的所有进程都立即会看到本环境变量,也就是立即生效了,但是如果用户关闭了本Shell以后,本环境变量就会丢失,命令就找不到它了。

    2.如果要想在以后或者开机都能使有,可以通过修改用户环境变量表或者通过修改系统环境变量表达到目的

    (1)修改用户环境变量表就是修改i当前用户主目录下的.bashrc文件

    但是修改后并不立即生效,需要可以通过source .bashrc或者通过运行./.bashrc生效第一个点是必须有的,比如我们在configure时也通常会用./configure

    (2)通过改系统环境变量表也同上步骤,只是要修改/etc/bashrc.文件,修改后执行相同的过程。

    此外还有其他类似的文件,希望大家分清楚:

    /etc/pro此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.

    并从/etc/profile.d目录的配置文件中搜集shell的设置.

    /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

    ~/.bash_pro每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该

    文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

    ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该

    该文件被读取.

    ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

    另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.


    • 本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
      本站(WWW.)站内文章除注明原创外,均为转载,整理或搜集自网络.欢迎任何形式的转载,转载请注明出处.
      转载请注明:文章转载自:[169IT-IT技术资讯]
      本文标题:Linux下如何查看,设置环境变量并立即生效
    相关文章推荐:
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • 在linux服务器上面设置squid后怎么设置可以使客户端能使用QQ?
  • Linux/CentOS/fedora下vim显示的字符编码设置
  • 怎么设置在Linux上面设置WEB服务器?请各位高手指教!!!
  • Linux下用ntpdate同步时间及date显示设置时间
  • linux中端口号设置是在哪个配置文件,该如何设置?
  • MTU介绍以及在windows和linux下怎么设置MTU值
  • 求教:在freebsd下设置服务器是否与在linux下设置方法一样?
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 紧急求救各位了:linux下有没有有设置报文最小长度的命令(好像只有设置报文最大长度MTU,通过ifconfig)?
  • *******在red hat linux下怎么设置DNS?网络设置里没有嘛
  • linux 如何用SOCKET设置函数设置阻塞和非阻塞?
  • 为社么,我该设置的都设置了,我安装的linux只可以访问局域网,internet就访问不了.
  • 问个Linux 服务器上每个网站设置安全的问题。请了解的朋友进来看看这样设置对不
  • 请问在LINUX下怎么设置静态IP?我在虚拟机中不能设置静态IP怎么办?
  • 怎么设置显示器的分辨率,显卡为intel 845D自带的,在red hat linux下就是不能设置成1024*768,怎么办?
  • linux下需要设置网络发送和接受缓冲区大小时,需如何设置,是否系统有最大缓冲区限制?谢谢
  • 如何设置在linux下设置tomcat自动启动以及它里面的我写的一个有main方法的socket服务器也自动启动
  • 虚拟机下安装了Linux5.0要怎么设置才能在linux下上网
  • 初学Linux要看什么书?, 请问Linux下C语言编程怎么设置环境?
  • 如何给linux服务器的用户设置权限才能在windows中访问linux下的文件?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3