linux设置环境变量有3种方法,以PATH变量为例。
一种方法是 :直接在命令行下:
$ PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
$ export PATH
这种方法的好处是方便,立即生效,缺点是把当前会话或shell关了之后就失效了,下次还得运行一遍。
第 二 种方法是 :修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
(1)用文本编辑器打开/etc/profile
(2)在profile文件末尾加入:
PATH=$PATH:/path/to/your/bin:/another/path/to/bin
export PATH
保存,重新登录
或者运行命令source /etc/profile 手动生效
第 三 种方法是 :修改.bashrc文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
(1)用文本编辑器打开用户目录下的.bashrc文件
(2)在.bashrc文件末尾加入:
PATH=$PATH:/path/to/your/bin:/another/path/to/bin
export PATH
保存,重新登录
或者运行命令source .bashrc手动生效
常用命令介绍:
1.export 设置, 举个简单例子:# export JOHNSCC="Hello!" //格式: export 环境变量名="环境变量值"
# export PATH=/path1:$PATH //增加新的环境变量到PATH中,注:用冒号隔开表连接
2. 使用env命令显示所有的环境变量
3.使用set命令显示所有本地定义的Shell变量
4.使用unset命令来清除环境变量 eg:
5.echo # echo $JOHNSCC //查看环境变量 echo
6.使用readonly命令设置只读变量 eg:
如果使用了readonly命令的话,变量就不可以被修改或清除了。
需要注意的是,PATH变量的分隔符是:号,其他的是空格,
常见的环境变量
PATH 决定了shell将到哪些目录中寻找命令或程序
HOME 当前用户主目录
HISTSIZE 历史记录数
LOGNAME 当前用户的登录名
HOSTNAME 指主机的名称
SHELL 前用户Shell类型
LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
MAIL 当前用户的邮件存放目录
PS1 基本提示符,对于root用户是#,对于普通用户是$
PS2 附属提示符,默认是“>”
所以LDFLAGS应该是这样:
LDFLAGS=“$LDFLAGS -L/path/to/lib -L/path/to/lib”
CFLAGS应该是这样:
CFLAGS=“$CFLAGS -I/path/to/iclude -I/path/to/include”
PATH :大家应该都很熟悉。安装一个包后可能会在安装目录建立一个bin目录,里面都是些可执行程序,为了让系统能找到这些程序,就需要我们把该路径加入到PATH环境变量中。下面会讲到如何加入。
LDFLAGS :gcc 等编译器会用到的一些优化参数,也可以在里面指定库文件的位置。用法:LDFLAGS=“-L/usr/lib -L/path/to/your/lib”。每安装一个包都几乎一定的会在安装目录里建立一个lib目录。如果你明明安装了某个包,而安装另一个包时,它愣是说找不到,那就把那个包的lib路径加入的LDFALGS中试一下吧。
CFLAGS :和LDFLAGS类似,只不过要向里加如的是头文件(.h文件)的路径,如:CFLAGS=“-I/usr/include -I/path/to/your/include”。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include目录加入到该变量中来。