linux中的环境变量作用

告诉机器,你输入的命令到哪里去执行。指定命令执行的路径。
shell必须搜索系统来找到对应的程序。 PATH环境变量定义了用于进行命令和程序查找的目录。

Linux是一个多用户多任务的操作系统,可以在Linux中为不同的用户设置不同的运行环境,具体做法是设置不同用户的环境变量(称之为 Linux中定制的环境变量)。但是仍有些环境变量是用户都需要的,我们称之为Linux中常见的环境变量。

环境变量PATH的作用:

存储各种工具、命令的路径,当使用工具或者命令的时候,系统回去PATH中查找对应的工具与命令
当自己下载了某个工具或者自己写了某个可执行程序,想要不加路径直接执行,则需要将该工具、程序的路径添加入PATH中。

查看环境变量PATH的方法
命令行中输入

echo $PATH
或者输入:

export

Linux中常见的环境变量有:

1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登录名。
5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
8.MAIL:指当前用户的邮件存放目录。
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
10.PS2:附属提示符,默认是“>”。
备注:可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt ”。

#PS1=“Hello,My NewPrompt”
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST

当然,我所列举的上述环境变量并非穷尽列出!

Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:
1.echo 显示某个环境变量值 echo $PATH
2.export 设置一个新的环境变量 export HELLO=“hello” (可以无引号)
3.env 显示所有环境变量
4.set 显示本地定义的shell变量
5.unset 清除环境变量 unset HELLO
6.readonly 设置只读环境变量 readonly HELLO

关于删除自定义路径:
当某天你发现你新增的路径/usr/locar/new/bin已经没用了的话,你可以修改/root/.bashrc文件里面你新增的路径。或者你可以修改/etc/profile文件删除你不需要的路径.

Linux环境变量分类

一、按照生命周期来分,Linux环境变量可以分为两类:
1、永久的:需要用户修改相关的配置文件,变量永久生效。
2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。

二、按照作用域来分,Linux环境变量可以分为:
1、系统环境变量:系统环境变量对该系统中所有用户都有效。
2、用户环境变量:顾名思义,这种类型的环境变量只对特定的用户有效。

临时环境变量(重启后消失)

1、临时有效

在 shell 中输入: PATH=$PATH:directory你要添加的目录
上面的命令对PATH变量的修改只能持续到退出或重启系统。

直接用export命令:
#export PATH=$PATH:/opt/au1200_rm/build_tools/bin
查看是否已经设好,可用命令export查看:
[root@localhost bin]# export
declare -x BASH_ENV="/root/.bashrc"
declare -x G_BROKEN_FILENAMES=“1”
declare -x HISTSIZE=“1000”
declare -x HOME="/root"
declare -x HOSTNAME=“localhost.localdomain”
declare -x INPUTRC="/etc/inputrc"
declare -x LANG=“zh_CN.GB18030”

2、临时修改:(关闭命令中断后,恢复原状)

export PATH=“路径” //将PATH改成只有该路径
export PATH=$PATH:/路径 //给PATH末尾添加路径

永久更改:

单用户:
cd //回到家目录
gedit ~/.bashrc //这个文件主要保存个人的一些个性化设置,如命令别名、路径等
在文本末尾添加: export PATH=$PATH:/工具路径

Linux设置环境变量的方法

一、在/etc/profile文件中添加变量 对所有用户生效(永久的)
用vim在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
例如:编辑/etc/profile文件,添加CLASSPATH变量

vim /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
注:修改文件后要想马上生效还要运行source /etc/profile不然只能在下次重进此用户时生效。

二、在用户目录下的.bash_profile文件中增加变量 【对单一用户生效(永久的)】
用vim ~/.bash_profile文件中增加变量,改变量仅会对当前用户有效,并且是“永久的”。

vim ~/.bash.profile
export CLASSPATH=./JAVA_HOME/lib; J A V A H O M E / j r e / l i b 注 : 修 改 文 件 后 要 想 马 上 生 效 还 要 运 行 JAVA_HOME/jre/lib 注:修改文件后要想马上生效还要运行 JAVAHOME/jre/lib source ~/.bash_profile不然只能在下次重进此用户时生效。

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

参考链接 :https://blog.csdn.net/laifengyuan1/article/details/86616353
https://blog.csdn.net/qq_29837161/article/details/85254882
https://www.jianshu.com/p/ac2bc0ad3d74

你可能感兴趣的:(运维)