linux环境变量
在配置交叉编译工具链时,遇到了一些关于环境变量设置的内容。本文将真理本人从网路上了解到的关于环境变量设置的相关内容的记录。
临时配置环境变量
在终端通过export
命令配置。
export ARCH=arm
生成环境变量ARCH,值为arm
该命令生成的环境变量只在当前终端有效,一旦终端关闭,环境变量就会消失。
设置永久环境变量
通过在~/.bashrc
或者/etc/profile
文件的最后添加:
export CROSS_COMPILE=arm-linux-gnueabihf-
然后执行如下命令更新.bashrc
下的环境变量,或者重启系统以更新/etc/profile
source ~/.bashrc
修改~/.bashrc
可以使得环境变量CROSS_COMPILE
在当前用户永久有效
修改/etc/profile
可以使得环境变量CROSS_COMPILE
在当前用户永久有效
环境变量PATH
在Linux系统中,有一个名为PATH的环境变量,该变量决定了shell 将到哪些目录中寻找命令或程序(可执行文件)
通过echo $PATH
可以看到该变量的内容,若想往该变量中添加目录(如交叉编译工具的目录),可以借助上述方法进行设置:
export PATH=$PATH:/home/book/100ask_myir_mini_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
通过上述命令在PATH中加上新的目录,而不是覆盖掉PATH的原值,因为PATH包含有shell解析的路径,不能覆盖。
为了更好的理解PATH中路径的作用,利用c语言编写hello.c,编译出可执行文件hello,把hello放到PATH指定的一个路径下,如usr/bin
,然后,在终端输入hello,便能直接执行hello这个可执行文件,也就是hello变成了一个shell命令,在任意路径的终端下使用hello都会执行usr/bin/hello
这个可执行文件。
查看环境变量
在终端常用的查看环境变量有如下几种方式:export
、printenv
打印指定环境变量的值:echo $PATH