(四)linux的常用环境变量及设置
一、为什么要设置环境变量
1、环境变量能解决什么问题?
你是否经历过输入$python命令后,屏幕上打印出python:command not found的尴尬;每一次都要输入$/home/tools/python3.7.1/bin/python才能缓解,尴尬是缓解了,但是这样每天都要输入全路径,会更加的尴尬,本章学习的环境变量设置,刚好能解决这个问题,当我们在命令行输入一个命令时例如$python,linux就会现在当前目录查找名叫python的可执行文件,如果能找到则执行,如果不能找到则以此为路径进行寻找,如果还是不能找到,则在环境变量PATH代表的路径中寻找。能够找到则执行,若还是不能找到则报command not found;另外,我们可以设置DIR_NET为/cos4.0/tb/net,则可以使用DIR_NET/aaa.v代替/cos4.0/tb/net/aaa.v
2、查看环境变量的方法
a. 命令行输入$export (-p),可以查看所有的环境变量值,
b. $export ENVNAME,可以定义新的环境变量,
c. $export ENVNAME=7,可以定义新的环境变量,并为其赋值7,
d. $echo $PATH,可以查看某一个环境变量的值。
二、设置环境变量的值
(1)PATH环境变量的格式
编辑PATH声明,其格式为:PATH=$PATH:<PATH1>:<PATH2>:...:<PATHN>
我们可以自己加上指定的路径,中间用冒号隔开。环境变量更改后,在用户下次登录时生效,如果想立即生效,则可以执行source .bash_profile
(2)添加PATH环境变量
export PATH=$PATH:路径
(3)永久添加PATH环境变量的方法
$vim /etc/profile 在文档个的最后添加:export PATH=“$PATH:路径”,然后运行$source /etc/profile
(4)环境变量的调用顺序如下:
/etc/profile
为系统的每个用户设置环境信息和启动程序,当用户第一次登录时,该文件被执行,其配置对所有登录的用户都有效。
当被修改时,必须重启才会生效。英文描述:”System wide environment and startup programs, for login setup.”
/etc/environment
系统的环境变量,/etc/profile是所有用户的环境变量,前者与登录用户无关,后者与登录用户有关,当同一变量在两个文件里有冲突时,以用户环境为准。
/etc/bashrc
为每个运行 bash shell 的用户执行该文件,当 bash shell 打开时,该文件被执行,其配置对所有使用bash的用户打开的每个bash都有效。
当被修改后,不用重启只需要打开一个新的 bash 即可生效。英文描述:”System wide functions and aliases.”
~/.bash_profile
为当前用户设置专属的环境信息和启动程序,当用户登录时该文件执行一次。默认情况下,它用于设置环境变量,并执行当前用户的 .bashrc 文件。
理念类似于 /etc/profile,只不过只对当前用户有效,也需要重启才能生效。(注意:Centos7系统命名为.bash_profile,其他系统可能是.bash_login或.profile。)
~/.bashrc
为当前用户设置专属的 bash 信息,当每次打开新的shell时,该文件被执行。理念类似于/etc/bashrc,只不过只对当前用户有效,不需要重启只需要打开新的shell即可生效。
~/.bash_logout
为当前用户,每次退出bash shell时执行该文件,可以把一些清理工作的命令放进这个文件。
/etc/profile.d/
此文件夹里是除/etc/profile之外其他的”application-specific startup files”。英文描述为”The /etc/profile file sets the environment variables at startup of the Bash shell. The /etc/profile.d directory contains other scripts that contain application-specific startup files, which are also executed at startup time by the shell.”
同时,这些文件”are loaded via /etc/profile which makes them a part of the bash “profile” in the same way anyway.”
因此可以简单的理解为是/etc/profile的一部分,只不过按类别或功能拆分成若干个文件进行配置了(方便维护和理解)。
注意事项
以上需要重启才能生效的文件,其实可以通过
source xxx暂时生效。文件的执行顺序为:当登录Linux时,首先启动/etc/environment和/etc/profile,然后启动当前用户目录下的/.bash_profile,执行此文件时一般会调用/.bashrc文件,而执行/.bashrc时一般会调用/etc/bashrc,最后退出shell时,执行/.bash_logout。简单来说顺序为:
(登录时)/etc/environment –> /etc/profile(以及/etc/profile.d/里的文件) –> ~/.bash_profile –> (打开shell时)~/.bashrc –> /etc/bashrc –> (退出shell时)~/.bash_logout
(三)、清除环境变量
$ unset ENVNAME
$echo $ENVNAME
Linux中Brourne shell预留的环境变量名,这些变量名不作他途,通常在/etc/profile中建立这些环境变量:
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登录名,LOGNAME='WHOAMI';export LOGNAME。
5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
8.MAIL:指当前用户的邮件存放目录。
9.PS1:命令基本提示符,缺省对于root用户是#,对于普通用户是$;PS1="anystr";export PS1。
10.PS2:附属提示符,缺省是“>”,PS1用于执行多行命令的一个命令。
11.CDPATH:cd命令的搜索路径,一系列由冒号隔开的路径,设置了CDPATH时,当使用$cd 目录名,先搜索CDPATH,如果在CDPATH中能够找到,则此目录成为当前目录;$ CDPATH=:/home/dave/bin:/usr/local;export CDPATH $ cd apps
12.HOME: 一般为当前用户的home目录,但是可以修改;cd=cd $HOME
备注:可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,MyNewPrompt ”。
# PS1="Hello,My NewPrompt"
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
当然,我所列举的上述环境变量并非穷尽列出!
(四)linux的常用环境变量及设置的更多相关文章
- hadoop搭建杂记:Linux下JDK环境变量的设置(三种配置环境变量的方法)
Linux下JDK环境变量的设置(三种配置环境变量的方法) Linux下JDK环境变量的设置(三种配置环境变量的方法) ①修改/etc/profile文件 如果你的计算机仅仅作为开发使用时推荐使用这种 ...
- 学习鸟哥私房菜--linux bash 的环境变量ps1设置
bash里边的变量ps1是用户平时的提示符,系统默认为[username@host 工作目录]$.关于ps1的相关介绍详见:http://www.cnblogs.com/starspace/archi ...
- linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置
关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼ PowerPC架构 L ...
- Linux环境变量的设置和查看方法
1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...
- uboot环境变量(设置bootargs向linux内核传递正确的参数)
这是我uboot的环境变量设置,在该设置下可以运行initram内核(从内存下载到nandflash再运行),但是运行nfs根文件系统的时候一直出错,各种错误.查看了很多资料后猜想应该是uboot传递 ...
- Linux下Jdk的安装和jdk环境变量的设置
我们在Linux下安装系统软件的时候,经常遇到一些系统环境变量配置的问题.什么是环境变量?如何定制环境变量?我将在下面做一些介绍.一.什么是环境变量?Linux是一个多用户的操作系统.多用户意味着每个 ...
- Ubuntu Linux 环境变量PATH设置
前俩天编译linux下rar解压软件的时候说找不到 /usr/local/linux 路径,在设定path变量的时候,忽然就想看看,path最原始的变量值是多少....(在环境变量文件中保存.... ...
- 转 Ubuntu Linux 环境变量PATH设置
Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...
- Linux环境变量及其设置
简介 环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将使用到的信息.Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环 ...
随机推荐
- 2017-2018 ACM-ICPC Latin American Regional Programming Contest J - Jumping frog 题解(gcd)
题目链接 题目大意 一只青蛙在长度为N的字符串上跳跃,"R"可以跳上去,"P"不可以跳上去. 字符串是环形的,N-1和0相连. 青蛙的跳跃距离K的取值范围是[1 ...
- Java基础教程——注解
注解 JDK 5开始,Java支持注解. 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取并执行,而且不改变原有的逻辑. 注解可以用于:生成文档.编译检查. ...
- FL Studio新手入门:FL Studio五大常用按钮介绍
我们打开FL Studio编曲软件会发现界面中有好多的菜单和窗口,这些窗口每个都有其单独的功能.今天小编主要给大家详细讲解下FL Studio水果软件的五大常用按钮. 1.首先我,我们双击桌面的水果图 ...
- Windows/Linux 代码共享,开发者称此举使Linux有了更差的结局
英特尔近期披露了 Linux 图形驱动程序相关的一些细节并指出,英特尔的图形驱动程序现在已在 Windows/Linux 之间共享约 60% 的代码库,90~100% 的性能. 针对此事,红帽公司的高 ...
- Linux(Ubuntu16.04)下的MediaWiki的部署启动
一.服务器部分 使用XAMPP配置MediaWiki部署所需要的环境. 1. 查看服务器的版本与位数: sudo lsb_release -a //查看系统版本 uname -a ...
- vue组建通信
父组件 <template> <div> <zi :str="str" @change_fu="getzi"></zi ...
- jupyter notebook 安装记录
conda install jupyterconda install jupyter_nbextensions_configuratorconda install jupyter_contrib_nb ...
- 极简python教程:快速入门好方法
大家好,我是测试奇谭的作者风风. 其实很久之前,就有身边的同事或者网友让我分享一些关于python编程语言的快速教程,他们的痛点同大多数自学编程语言的人一样,遇到了这些问题: 网络上的信息太多,良莠不 ...
- Python学习随笔:PyCharm的错误检测使用及调整配置减少错误数量
老猿使用PyCharm有将近一个月了,发现PyCharm并不能很好的完成语法检查,有时运行时突然终止,仔细核查却发现是基本的语法错误,不过有次无意中移动鼠标到代码最右边的边框时发现其实PyCharm有 ...
- PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的orientation和centerButtons属性
orientation属性 orientation属性表示QDialogButtonBox的方向,缺省情况下,方向为水平方向(值为Qt.Horizontal),表示QDialogButtonBox中的 ...