Linux下设置环境变量有三种方法,一种用于当前终端,一种用于当前用户,一种用于所有用户:
一:用于当前终端:
在当前终端中输入:
export PATH=$PATH:<你的要加入的路径>
不过上面的方法只适用于当前终端,一旦当前终端关闭或在另一个终端中,则无效。
1
|
export NDK_ROOT = / home / jiang / soft / Android - ndk - r8e #只能在当前终端使用。 |
二:用于当前用户:
在用户主目录下有一个 .bashrc 隐藏文件,可以在此文件中加入 PATH 的设置如下:
1
|
gedit ~ / .bashrc |
加入:
1
|
export PATH = <你的要加入的路径>:$PATH |
如果要加入多个路径,只要:
1
|
export PATH = <你要加入的路径 1 >:<你要加入的路径 2 >: ...... :$PATH |
当中每个路径要以冒号分隔。
这样每次登录都会生效
添加PYTHONPATH的方法也是这样,在.bashrc中添加
1
|
export PYTHONPATH = / home / zhao / setup / caffe - master / python: / home / zhao / setup / mypy:$PYTHONPATH |
保存后在终端输入 $ source ~/.bashrc 使环境变量立即生效
三:用于所有用户:
1
|
sudo gedit / etc / profile |
加入:
1
|
export PATH = <你要加入的路径>:$PATH |
就可以了。
终端输入:echo $PATH 可以查看环境变量
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)