Linux export命令用于设置或显示环境变量。
在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。
一、语法如下:
export [-fnp][变量名称]=[变量设置值]
参数说明:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
例如:
# 将/tmp/hello的路径加入到PATH,从而可以在任何地方直接使用hello命令。
export PATH=$PATH:/tmp/hello
该修改胜于修改环境变量,但只在本次登录中有效
注意:(与shell变量相结合)
= 前PATH变量不加$符号,再增加的路径用:追加。
二、export设置环境变量是暂时的,只在本次登录中有效,可修改如下文件来使命令长久有效
1、修改profile文件:
sudo gedit /etc/profile #该修改将对所有用户都起作用。
在里面加入:
export PATH=$PATH:/opt/ros/bin
这个在我们的机器上是大家共用的,建议不修改这个,只修改自己根路径下的
即第2种方法
2. 修改自己home路径下的 ~/.bashrc 或 ~/.bash_profile 文件:
gedit ~/.bashrc #只对本用户起作用。
在里面加入:
export PATH=$PATH:/opt/ros/bin
注意:
1、执行脚本时是在一个子shell环境运行的,脚本执行完后该子shell自动退出;
2、一个shell中的系统环境变量才会被复制到子shell中(用export定义的变量);
3、一个shell中的系统环境变量只对该shell或者它的子shell有效,该shell结束时变量消失(并不能返回到父shell中)。
4、不用export定义的变量只对该shell有效,对子shell也是无效的。
参考资料:
[1] https://blog.csdn.net/zcywell/article/details/7687178
[2] https://www.jianshu.com/p/ac2bc0ad3d74
[3] https://www.2cto.com/os/201211/165769.html
[4] https://www.linuxidc.com/Linux/2011-03/33197.htm
[5] https://blog.csdn.net/longyinyushi/article/details/50728096