关于ros工作空间devel下setup.bash的理解

在创建了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 所提供的功能包路径里去寻找,不在这个环境变量里的路径就不会去寻找了,即便你有这个功能包,也会显示找不到。

相关推荐
Coding小公仔3 分钟前
C++ bitset 模板类
开发语言·c++
小赖同学啊21 分钟前
物联网数据安全区块链服务
开发语言·python·区块链
shimly12345628 分钟前
bash 脚本比较 100 个程序运行时间,精确到毫秒,脚本
开发语言·chrome·bash
IT_10241 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
new_zhou1 小时前
Windows qt打包编译好的程序
开发语言·windows·qt·打包程序
ye901 小时前
银河麒麟V10服务器版 + openGuass + JDK +Tomcat
java·开发语言·tomcat
武昌库里写JAVA1 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
showyoui2 小时前
Python 闭包(Closure)实战总结
开发语言·python
今天背单词了吗9802 小时前
算法学习笔记:7.Dijkstra 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·数据结构·笔记·算法