(四)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是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环 ...
随机推荐
- FL Studio新手入门:FL Studio五大常用按钮介绍
我们打开FL Studio编曲软件会发现界面中有好多的菜单和窗口,这些窗口每个都有其单独的功能.今天小编主要给大家详细讲解下FL Studio水果软件的五大常用按钮. 1.首先我,我们双击桌面的水果图 ...
- 基于HAL库的STM32的DSP库详解(附FFT应用)
1 . 建立工程,生成代码时选择包含所有库. 2. 打开 option for target 选择 Target 标签,在code generatio中,将floating point hardw ...
- npm中的命令指令的参数的 简写介绍
在使用npm时,使用的的缩写 install: 缩写为i,表示安装. --global: 缩写为-g,表示:全局标识,可以在任意目录中使用该工具.全局安装. --save: 缩写为-S,表示安装的包将 ...
- 万字长文深度剖析面向对象的javascript
目录 简介 什么是对象 构造函数 构造函数的特点 new命令的原理 prototype对象 Object的prototype操作 Object.getPrototypeOf Object.setPro ...
- 七牛云实现前端js上传实现办法
1.七牛云上传前台页面 1.1 安装相关包 npm install --save jquery@1.12.1 # 安装jquery 1.2 index.html 引入qiniu.min.js < ...
- 彻底搞懂js __proto__ prototype constructor
在开始之前,必须要知道的是:对象具有__proto__.constructor(函数也是对象固也具有以上)属性,而函数独有prototype 在博客园看到一张图分析到位很彻底,这里共享: 刚开始看这图 ...
- 前端webSocket和后台php
HTTP协议的特性:属于"请求-响应"模型,只有客户端发起了请求消息,服务器才能给出响应消息,没有请求,就没有响应:一个请求消息,服务器只能返回一个响应消息.有些特殊应用场景中,如 ...
- BJOI2016 回转寿司
题目链接 Description 给定一个长度为 \(N\) 的序列 \(a\),和一个区间 \([L, R]\). 求多少连续子序列的权值和在区间内,即满足 \(1 \le i \le j \le ...
- Ionic学习记录
1.跨域问题 浏览器中的运行 当你运行 ionic serve 时发生了什么呢? 启动了一个本地 web 服务器 你的浏览器打开并定位到本地服务器地址 这让你看着你的应用加载到你电脑上一个浏览器里,地 ...
- 关于Switch Case的优化
switch case虽然是代替if else而出现的,并不好维护,有时候使用switch还不如使用if else. 但没有别的东西能代替switch case了吗?答案当然是否定的,现在就有两种方式 ...