关于对linux环境变量的理解
前⾔:之前对ROS的ROS_PACKAGE_PATH⼀直半懂不懂,甚⾄对它是linux众多系统环境变量普通⼀员都不是很清晰今天作⼀下梳理。在安装ROS的时候有这么⼀段步骤:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace
$ cd ~/catkin_ws/
$ catkin_make
$ source devel/setup.bash
其中最后⼀个命令是To make sure your workspace is properly overlayed by the setup script, make sure ROS_PACKAGE_PATH environment variable includes the directory you’re in,然后再执⾏查看命令:
$ echo $ROS_PACKAGE_PATH
会出现类似的显⽰:/home/youruser/catkin_ws/src:/opt/ros/kinetic/share:/opt/ros/kinetic/stacks,
说明系统环境变量ROS_PACKAGE_PATH已经被加了⼀条,正是这⼀条可以让ROS到我们的PACKAGE,但是仅仅在Terminal⾥执⾏⼀次source,环境变量只是临时修改⽽已,⽐如现在重启电脑再执⾏上⾯的echo查看ROS_PACKAGE_PATH的值就会发现⾥⾯的新加的⼀条没了,那么问题来了,我们想要的是这个新路径被永久添加到ROS_PACKAGE_PATH值⾥,因为我们以后所有的ros包都会放进这个路径⾥⾯的,怎样才能实现每次开机ROS_PACKAGE_PATH⾥⾯都有我们修改后的路径呢?我总结了两个⽅法:系统变量path修改了怎么恢复
1,在~/.bashrc⾥⾯最后加上source /home/kylefan/catkin_ws/devel/setup.bash,这样每次Terminal启动时都会执⾏这条命令,也算变相实现了永久修改环境变量的值了。
2,在~/.bashrc⾥⾯最后加上export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:home/kylefan/catkin_ws/src
其实export命令 是临时修改linux系统环境变量的通⽤办法,也很好理解就相当于string=string+str_to_add的道理。所以我们在这有个引申,临时修改所有linux环境变量都可以⽤这个办法,要想永久修改呢?对,放进~/.bashrc⾥!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。