关于ros中环境变量
让我们通过一个具体的例子来说明source devel/setup.bash和source devel/setup.bash --extend命令的区别。
假设你正在开发两个不同的ROS项目,它们分别位于~/ros_workspace1和~/ros_workspace2两个工作区。每个工作区都有自己的包和环境设置。
1, 不使用--extend:
当你在终端执行source ~/ros_workspace1/devel/setup.bash时,你的环境变量(例如ROS_PACKAGE_PATH)将被设置为仅包含ros_workspace1中的路径。
然后,如果你在同一个终端执行source ~/ros_workspace2/devel/setup.bash,环境变量将被更新为仅包含ros_workspace2的路径。这将覆盖之前ros_workspace1的设置。
2, 使用--extend:
首先执行source ~/ros_workspace1/devel/setup.bash。
然后,在同一个终端执行source ~/ros_workspace2/devel/setup.bash --extend。这时,ros_workspace2的路径被添加到环境变量中,而不会覆盖掉ros_workspace1的路径。
通过使用--extend选项,你可以同时访问两个工作区中的包和资源。这对于需要在多个项目之间进行切换和整合的开发者来说非常有用。这样,你就可以在不同的工作区间灵活地共享和测试代码,而不需要每次都重置整个环境变量