Linux下环境变量设置

1、在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错误。

2、那么什么是环境变量?简单说,就是指定一个目录,运行软件的时候,相关的程序将会按照该目录寻找相关文件。 设置变量对于一般人最实用的功能就是: 不用拷贝某些dll文件到系统目录中了,而path 这一系统变量就是系统搜索dll文件的一系列路径

在Linux系统下,如果你下载并安装应用程序,很有可能在键入它的名称的时候出现 “command  not found ” 的提示内容。 如果每次都到安装目录文件夹内,找到可执行文件来进行操作就太繁琐了。 这涉及到环境变量path的设置问题,而Path 的设置也是在Linux下定制环境变量的一个组成部分

Linux下环境变量设置的三种方法

如想将一个路径加入到$PATH中,可以像下面这样做:

只对当前的shell 起作用的环境变量

1、控制台中设置,不赞成这种方式,因为他只对当前的shell 起作用,换一个shell设置就无效了:

直接控制台中输入 : $PATH="$PATH":/NEW_PATH  (关闭shell Path会还原为原来的path)

对所有的用户的都起作用的环境变量

2、修改 /etc/profile 文件,如果你的计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会给系统带来安全性问题。这里是针对所有的用户的,所有的shell

vi /etc/profile

在/etc/profile的最下面添加:  export  PATH="$PATH:/NEW_PATH"

针对当前特定的用户起作用的环境变量

3、修改bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的 .bashrc文件就可以了。

vi ~/.bashrc

在下面添加:

Export  PATH="$PATH:/NEW_PATH"

Ubuntu Linux系统环境变量配置文件:  /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。 
/etc /environment : 在登录时操作系统使用的第二个文件, 系统在读取你自己的profile前,设置环境文件的环境变量。 
~/.profile :  在登录时用到的第三个文件 是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
/etc/bashrc : 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 
~/.bashrc : 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

PASH环境变量的设置方法: 
方法一:用户主目录下的.profile或.bashrc文件(推荐) 
登录到你的用户(非root),在终端输入:  $ sudo gedit ~/.profile(or .bashrc)  可以在此文件末尾加入PATH的设置如下:  export PATH=”$PATH:your path1:your path2 ...”  保存文件,注销再登录,变量生效。  该方式添加的变量只对当前用户有效。 
方法二:系统目录下的profile文件(谨慎) 
在系统的etc目录下,有一个profile文件,编辑该文件:  $ sudo gedit /etc/profile  在最后加入PATH的设置如下:  export PATH=”$PATH:your path1:your path2 ...”  该文件编辑保存后,重启系统,变量生效。  该方式添加的变量对所有的用户都有效。 
方法三:系统目录下的 environment 文件(谨慎) 
在系统的etc目录下,有一个environment文件,编辑该文件:  $ sudo gedit /etc/environment  找到以下的 PATH 变量:  PATH="<......>"  修改该 PATH 变量,在其中加入自己的path即可,例如:  PATH="<......>:your path1:your path2 …"  各个path之间用冒号分割。该文件也是重启生效,影响所有用户。  注意这里不是添加export PATH=… 。 
方法四:直接在终端下输入 
$ sudo export PATH="$PATH:your path1:your path2 …"  这种方式变量立即生效,但用户注销或系统重启后设置变成无效,适合临时变量的设置。 
注 意:方法二和三的修改需要谨慎,尤其是通过root用户修改,如果修改错误,将可能导致一些严重的系统错误。因此笔者推荐使用第一种方法。另外嵌入式 Linux的开发最好不要在root下进行(除非你对Linux已经非常熟悉了!!),以免因为操作不当导致系统严重错误。
下面是一个对environment文件错误修改导致的问题以及解决方法示例: 
问题:因为不小心在 etc/environment里设在环境变量导致无法登录  提示:不要在 etc/environment里设置 export PATH这样会导致重启后登录不了系统  解决方法:  在登录界面 alt +ctrl+f1进入命令模式,如果不是root用户需要键入(root用户就不许这么罗嗦,gedit编辑会不可显示)  /usr/bin/sudo /usr/bin/vi /etc/environment  光标移到export PATH** 行,连续按 d两次删除该行;  输入:wq保存退出;  然后键入/sbin/reboot重启系统(可能会提示need to boot,此时直接power off)

最新文章

  1. git stash和git stash pop
  2. 在DW 5.5+PhoneGap+Jquery Mobile下搭建移动开发环境
  3. 安装Win7提示Windows无法安装到磁盘怎么办
  4. 在Linux中安装Tomcat
  5. 项目中的一个JQuery ajax实现案例
  6. JavaScript判断字符串是否含有中文(实用)
  7. QT中可以用QProgressBar或着QProgressDialog来实现进度条
  8. Codeforces Round #188 (Div. 2) C. Perfect Pair 数学
  9. nginx+tomcat+redis负载均衡及session共享
  10. LeetCode——Climbing Stairs
  11. UVa 10074 - Take the Land
  12. App forensics
  13. Redis 持久化和配置文件
  14. HDU - 2181 dfs [kuangbin带你飞]专题二
  15. 关于安装了VMware tools后仍然不支持拖拽文件的问题
  16. MySQL字段的说明和备注信息
  17. 开源RPC Jupiter
  18. Function types cannot have argument labels 错误解决方案
  19. 解决logstash启动缓慢问题
  20. VS2015 C#的单元测试

热门文章

  1. UBI mkfs.ubifs 参数记录
  2. RSA签名,加解密处理核心文件
  3. WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
  4. 改进初学者的PID-测量的比例介绍
  5. [LeetCode] 232. Implement Queue using Stacks 用栈来实现队列
  6. Oracle:时间字段模糊查询
  7. linux中安装cx_Oracle
  8. 【Python学习之六】文件操作
  9. PCL贪婪投影三角化算法
  10. C++静态成员变量必须定义