linux的环境变量,简言之如同技能库通常,设置好了就能很便捷的解决一些问题。
打个比方linux 环境变量命令,当我们的可执行程序须要使用pthread_create这个线程库函数的时侯,为何我们在makefile少将-lpthread加上就才能链接到线程库?诱因就是libpthread.a这个系统库路径被加进了linux系统的环境变量中,假如没有系统帮我们进行环境变量设置,在链接时似乎就没那么简单linux 环境变量命令,须要添加一大串的位置符红旗linux6.0教程,去指定所要链接的库的位置,着实不太友好。
在诸如为何我们在终端中敲下简单的gccxx程序就能否自行编译呢?系统是怎样能手动找到gcc这个指令的呢?
虽然也是环境变量的功劳。
linux的环境变量类似于C语言中的关键字,其不同的名子代表不同的涵义,并非能随意指定,如下文章凑合环境变量的设置,以及常见的环境变量举例来进行讲解。
一、linux终端下环境变量的查看
1.查看单个环境变量:(比如想要看环境变量PATH)
echo$PATH
2.查看所有环境变量:
env或则printenv
二、linux环境变量的设置
1.临时生效
step1(eg):command:exportPATH=$PATH:/usr/local/man[此时echo$PATH都会立刻生效]
step2:exit退出以后再度echo$PATH都会发觉原来设置的环境变量不在了。
2.永久生效
step1:command:gedit/etc/profile
step2:在文末追加(eg):exportPATH=$PATH:/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin
step3:source/etc/profile使其立刻生效。
(踩坑笔记:有些ubuntu中当我们想要永久改变某个环境变量的值时,并不是简单的替换,就拿上述事例来说,我们须要:
1.exportPATH=$PATH(将原本环境变量值置空)
2.source/etc/profile(使操作生效)
3.exportPATH=$PATH:/xxx(重新进行设置)
4.source/etc/profile(使操作生效)
三、linux常用的环境变量
PATH#决定了shell将到什么目录中找寻命令或程序。(比如交叉编译时所需的编译器)
HOME#当前用房主目录
HISTSIZE#历史记录数
LOGNAME#当前用户的登陆名
HOSTNAME#指主机的名称
SHELL#当前用户Shell类型
LANGUGE#句型相关的环境变量,多语可以更改此环境变量
MAIL#当前用户的电邮储存目录
PS1#基本提示符常用linux系统,对于root用户是#,对于普通用户是$
LD_LIBRARY_PATH#设置程序运行时动态库的查找路径
LIBRARY_PATH#设置程序链接时静态库的查找路径