setup.bash是个什么玩意
- 在workspace部分介绍了package存在的两个地方,那么,是不是我们打开terminal,就能使用ROS命令,系统就能找到那些package呢?
这里,就要了解 source setup.bash 的功能。 source setup.bash 就是执行 setup.bash 脚本,而这个脚本,就会在环境中配置一些数据。
通常我们安装完ROS后,要先 source /opt/ros/<distro>/setup.bash ,这条语句的目的就是将ROS相关的命令配置在当前terminal工作的环境中,我们在这个环境中就能使用ROS命令了,否则系统是无法知道ROS命令的存在的。同时,这条语句也会让ROS库中的package能够被找到。
当我们创建一个workspace后,同样系统也是不会知道这个workspace存在的,一切与这个workspace相关的ROS命令都会失效——这个workspace里面的package不会被ROS命令发现。要想将这个workspace的信息配置到环境里面,就必须执行这个workspace里面的 setup.bash 脚本,例如catkin的就是 source ~/catkin_ws/devel/setup.bash ,rosbuild的就是 source ~/rosbuild_ws/setup.bash 。
-
/opt/ros/kinetic/setup.bash和~/novatel_ws/devel/setup.bash的差异
就是没有差异
差异
如何让你个人空间中的包被roscd这种命令识别
就是运行~/your_ws/devel/setup.bash即可
如下例子中所示
[yuhs@yuhs novatel_ws]$source devel/setup.bash
[yuhs@yuhs novatel_ws]$roscd novatel/
[yuhs@yuhs novatel]$pwd
/home/yuhs/novatel_ws/src/novatel
网友评论