Linux的
变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1 永久的:需要修改配置文件,变量永久生效。 2 临时的:使用export
命令声明即可,变量在关闭shell时失效。 设置变量的三种方法 1 在/etc/profile文件中添加变量【对所有用户生效(永久的)】 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。 例如:编辑/etc/profile文件,添加CLASSPATH变量 export CLASSPATH=./JAVA_HOME/lib$JAVA_HOME/jre/lib 注:修改文件后要想马上生效还要运行# source /etc/profile不然只能在下次重进此用户时生效。 2 在用户目录下的.bash_profile文件中增加变量【对单一用户生效(永久的)】 用VI在用户目录下的.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。 例如:编辑guok用户目录(/home/guok)下的.bash_profile 命令用法如下 $ cd (进入用户登陆目录) $ls –al .bash_profile(.bash_profile为隐藏文件,因此要用ls –a命令查找) $vi .bash_profile(用vi编辑.bash_profile) vi/home/guok/.bash.profile添加如下内容:exportCLASSPATH=./JAVAHOME/libJAVA_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删除指定的环境变量 set可以设置某个环境变量的值。清除环境变量的值用unset命令。如果未指定值,则该变量值将被设为NULL。示例如下: export TEST="Test..." #增加一个环境变量TEST env|grep TEST #此命令有输入,证明环境变量TEST已经存在了 TEST=Test... unset TEST #删除环境变量TEST $ env|grep TEST #此命令没有输出,证明环境变量TEST已经删除 常用的环境变量 PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录 HISTSIZE 历史记录数 LOGNAME 当前用户的登录名 HOSTNAME 指主机的名称 SHELL 当前用户Shell类型 LANGUGE 语言相关的环境变量,多语言可以修改此环境变量 MAIL 当前用户的邮件存放目录 PS1 基本提示符,对于root用户是#,对于普通用户是$Linux下设置和查看环境变量 https://www.cnblogs.com/qiuhong10/p/7815943.htmlLinux下修改.bash_profile 文件改变PATH变量的值https://blog.csdn.net/u011323949/article/details/79045788环境变量(environment variables)一般是指在 *** 作系统中用来指定 *** 作系统运行环境的一些参数,这些参数会对系统行为产生影响。
比如常用的PATH环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下面寻找此程序外,还会到PATH中指定的路径去找。你可以在终端使用printenv PATH/echo $PATH查看当前PATH变量的值。
Linux系统下修改/自定义环境变量的方法通常分为两类:临时修改和永久性修改。下面分别介绍两种修改环境变量的方法。在这里以修改linux系统下的PATH环境变量(该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名)为例进行举例。
PATH环境变量:该环境变量保存了linux系统下所有可执行的程序的目录,linux系统执行某个可执行程序时,会以该环境变量的值(路径)去寻找可执行的程序名,如果找到,则可以执行,如果找不到则会提示:无法找到××命令的错误。
1、临时修改/自定义环境变量
(1)临时自定义环境变量。
注意,系统默认的环境变量名称一般为大写,自定义的环境变量名称一般为小写,这样是为了避免命名上的冲突。
自定义临时环境变量时,有两种办法,一种是在terminal终端命令行直接定义,如下:
在这里插入图片描述
注意,此时自定义的my环境变量的作用范围仅限于当前shell(此时定义的my变量实际上是局部变量),在当前shell的子shell中无法寻找到该自定义变量。直接在其子shell中无法直接使用它。要想在其子shell中使用,必须用export命令来导出它为全局变量。
在这里插入图片描述
如上图所示,在定义my环境变量的子shell中无法识别到my环境变量。
当定义完my环境变量后,利用export命令将其转化为全局变量:
在这里插入图片描述
可以看到,使用export将my环境变量导出成全局变量后,在其子shell中也可以识别到。
**注意!!!!**使用export导出的my环境变量仅仅适用于当前的shell及其衍生shell中,退出当前shell后,my变量将不复存在。所以,这也是该方法被称为临时定义变量的原因。
自定义临时环境变量时,除了在terminal终端命令行直接定义外,还可以使用shell脚本的方法来事先定义好一个环境变量。并用source命令(或者 . 命令)(这么做是因为使用这两个命令是在当前shell中激活该脚本,不会产生子shell)在使用该变量的shell中激活该shell脚本即可。
评论列表(0条)