linux设置变量的三种方法

1在/etc/profile文件中添加变量对全部用户生效(永久的)shell

用VI在文件/etc/profile文件中增长变量,该变量将会对Linux下全部用户有效,而且是“永久生效”。bash

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

# vi /etc/profile命令行

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

注1:profile文件在系统启动时将被运行。你们能够在里面加入其余命令,可是必定要加正确,否则的话系统会启动不起来的。字符串

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

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

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

# vi /home/guok/.bash.profile变量

添加以下内容:

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

注2:若是修改了/etc/profile,那么编辑结束后执行source profile 或 执行点命令 ./profile,PATH的值就会当即生效了。这个方法的原理就是再执行一次/etc/profile shell脚本,注意若是用sh /etc/profile是不行的,由于sh是在子shell进程中执行的,即便PATH改变了也不会反应到当前环境中,可是source是在当前 shell进程中执行的,因此咱们能看到PATH的改变。

注3:变量重复定义时,之后面的设置为先。

  例如:在peofile文件默认对PATH变量都有设置PATH=¥¥¥¥¥¥¥,在之后可能在对PATH设置,通常都加在profile文件的最后PATH=······(打个比方)。而系统之中认定的PATH=·······¥¥¥¥¥¥¥¥¥,也就是说相同名字的环境变量,后写入的先起做用(通俗地讲)。

注四、特殊字符介绍。

  例如在profile中有以下内容,经过如下内容说明特殊符号的用法。

  export A=/q/jing:aaa/cc/ld

  export B=.:/liheng/wang export A=/cd/cdr:$A

  : 表示并列含义,例如A变量值有多个,用:符号进行分离。

  . 表示你操做的当前目录。例如pap命令会查找B环境变量。

在/home键入B命令,系统首先在/home目录下(即当前路径)查找关于 B 的内容,若是没有在/liheng/wang目录下查找关于B的内容。 $ 表示该变量本次定义以前的值,例如$A表明/q/jing:aaa/cc/ld。也就是说 A=/cd/cdr:/q/jing:aaa/cc/ld

注五、常见的环境变量

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

  HOME:当前用户主目录

    MAIL:是指当前用户的邮件存放目录。

    SHELL:是指当前用户用的是哪一种Shell。

  HISTSIZE:是指保存历史命令记录的条数。

  LOGNAME:是指当前用户的登陆名。

HOSTNAME:是指主机的名称,许多应用程序若是要用到主机名的话,一般是从这个环境变量中来取得的。

  LANG/LANGUGE:是和语言相关的环境变量,使用多种语言的用户能够修改此环境变量。

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

  PS2:是附属提示符,默认是“>”。能够经过修改此环境变量来修改当前的命令符,好比下列命令会将提示符修改为字符串“Hello,My NewPrompt :) ”。

  # PS1=" Hello,My NewPrompt :) "

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

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

相关文章
相关标签/搜索