在创建了ros的工作空间之后
在工作空间的devel文件夹中存在几个setup.*sh形式的环境变量设置脚本
使用source命令运行这些脚本文件,则工作空间的环境变量设置可以生效(如可以找到该工作空间内的项目)。
source devel/setup.bash
设置环境变量是为了(source devel/setup.bash)系统能够找到这个工作空间
Ubuntu默认使用的终端是bash,需要在bash中设置ros环境变量,最好把它放在家目录的.bashrc目录下,以便系统启动时能够执行其中的source /opt/ros/kinetic/setup.bash指令,使得工作空间中的环境变量可以生效,这样系统终端能够读懂ros命令,执行相应的操作。
当然也可以把他加入到.bashrc中,这样就不用每次都source自己的程序了
.bashrc
是home目录下的一个shell文件,用于储存用户的个性化设置。
.bashrc在每次打开新的终端时都会被读取,所以我们在运行ROS的某些代码的时候,
可以使用export设置环境变量
export <环境变量名>=<值>
上面的命令会覆盖掉环境变量原有值,如果想给同一个环境变量赋予多个值,需要借助以下语法
export THEPATH=$THEPATH:</path>
eg:export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/gzy/catkin_ws/src/ORB_SLAM2/Examples/ROS
你对 .bashrc 所做的任何修改将在下一次启动终端时生效。如果你想立刻生效的话,运行下面的命令:
source ~/.bashrc
创建了ROS 的workspace之后,需要将workspace中的setup.bash文件写入~/.bashrc 文件中,让
其启动,就像这个样子:
source devel/setup.bash
这句的目的就是在开新的terminal的时候,运行这个setup.bash,而这个setup.bash的作用是让一些ROS* 开头的命令可以使用。同时还能够创建一些ROS开头的环境变量,比如:
ROS_PACKAGE_PATH
我们可以在终端输入echo $ROS_PACKAGE_PATH来查看变量的值
当你使用rospack find {packagename}这个语句搜索路径的时候,就会在它会依据ROS_PACKAGE_PATH 所提供的功能包路径里去寻找,不在这个环境变量里的路径就不会去寻找了,即便你有这个功能包,也会显示找不到。