• linux环境变量设置 以及 source命令


     定制环境变量
      环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell。环境变量文件:/etc/profile。 环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。下面通过几个实例来说明。
      
      1. 显示环境变量HOME
      $ echo $HOME
      /home/terry
      
      2. 设置一个新的环境变量WELCOME
      $ export WELCOME="Hello!"
      $ echo $WELCOME
      Hello!
      
      3. 使用env命令显示所有的环境变量
      $ env

      HOSTNAME=terry.mykms.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
      
      7. 用C程序来访问和设置环境变量
      对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。
      
      ◆ getenv()访问一个环境变量。输入参数是需要访问的变量名字,返回值是一个字符串。如果所访问的环境变量不存在,则会返回NULL。
      
      ◆ setenv()在程序里面设置某个环境变量的函数。
      
      ◆ unsetenv()清除某个特定的环境变量的函数。
      
      另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。

          8.修改配置文件

          通过在控制台输入export命令的方式配置的环境变量只在当前控制台下作用。当你启动另一个shell时候将消失

          而修改配置文件则是一个一劳永逸的方法,尽管一般不这么用。

          #vi /etc/profile (对系统下所有用户起作用)

          # vi /home/funway/.bashrc (对funway这个用户起作用)

    source命令用法:
    source FileName
    作用:在当前bash环境下读取并执行FileName文件中的shell命令。

    我现在的工作中,经常将要配置的环境变量写在一个文件中,例如xt300.env, 然后执行命令

    source xt300.env

    由于是只在当前shell中执行,所以source设置的环境变量只改变当前shell的环境。

    你新打开一个控制台,会发现它的环境变量并不会有source新设置的内容。

  • 相关阅读:
    jQuery.delegate() 函数详解
    java中的Class.forName的作用
    java Map及Map.Entry详解
    SQL Case when 的使用方法
    SpringBoot入门篇--对于JSON数据的返回以及处理二
    SpringBoot入门篇--对于JSON数据的返回以及处理一
    SpringBoot入门篇--使用IDEA创建一个SpringBoot项目
    数据结构和算法之栈和队列三:自定义一个栈包含min函数
    数据结构和算法之栈和队列二:栈的压入,弹出序列
    数据结构和算法之栈和队列一:两个栈模拟一个队列以及两个队列模拟一个栈
  • 原文地址:https://www.cnblogs.com/funway/p/1978653.html
Copyright © 2020-2023  润新知