ROS Indigo beginner_Tutorials 之 添加环境变量 和 更新ROS源代码的命令

我使用的虚拟机软件:VMware Workstation 11

使用的Ubuntu系统:Ubuntu 14.04.4 LTS

ROS 版本:ROS Indigo

如何添加 ROS 环境变量

在搭建环境变量前,我们现在先检查一下,看看 ROS 环境变量有没有在系统环境变量中:

$ export | grep ROS

如你得到下面的出现信息,说明,ROS 已经被添加到系统的环境变量里面的。不需要再添加了,就可以可以直接跳过添加环境变量这步,直接进行下一步。

declare -x ROSLISP_PACKAGE_DIRECTORIES=""
declare -x ROS_DISTRO="indigo"
declare -x ROS_ETC_DIR="/opt/ros/indigo/etc/ros"
declare -x ROS_MASTER_URI="http://localhost:11311"
declare -x ROS_PACKAGE_PATH="/opt/ros/indigo/share:/opt/ros/indigo/stacks"
declare -x ROS_ROOT="/opt/ros/indigo/share/ros"

如果什么都没有,我们必须对 ROS 进行配置环境变量,才可以在终端中使用 ROS 的相关命令和工具。

新建一个中终端,我们可以使用下面的指令来给当前终端窗口添加环境变量: (# : 为指令模板 。 $ : 为真正的例子 ) 如果你安装的 ROSindigo 版的 就可以使用第2句:

# source /opt/ros/<distro>/setup.bash
$ source /opt/ros/indigo/setup.bash

这样,我们使用 export | grep ROS 来查看一下环境变量是否添加成功,可以看到已经添加成功了。

但是我们使用 source 这个 Ubuntu 指令来添加环境变量有一个缺点: 它只作用于当前终端,如果我们在重新按住键盘组合键: Ctrl+Alt+T ,重新打开一个新的终端,我们使用 export | grep ROS 命令来查看当前终端上的环境变量我们依然得到下面的结果:

所以,也就是说,我们每新打开一个终端,都到去执行:source /opt/ros/indigo/setup.bash 这个命令来给当前终端添加环境变量。这样的做法岂不是违背的 DRY原则 ( Don’t repest yours! )。 所以,我们有更好的方法: 随便打开一个终端:

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc 

这句话的意思是:将source /opt/ros/indigo/setup.bash这句话 ,添加到 ~/.bashrc 文件中。.bashrc 文件中终端的启动文件,我们将这句话添加到启动文件中的效果就是,我们每次新打开一个终端,都会自动执行这句话。

上面这句话,还不作用于当前终端,所以,我们使用 export | grep ROS 来查看当前的环境变量,应该是什么都没有的:

我们当前终端关闭,重现在开始,重新打开的终端,都会自动添加 ROS 的环境变量:

介绍一个 ROS 命令 — 更新ROS源代码

$ rosdep  update 

运行输出:

reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index.yaml
Add distro "groovy"
Add distro "hydro"
Add distro "indigo"
Add distro "jade"
Add distro "kinetic"
updated cache in /home/aobosir/.ros/rosdep/sources.cache

这个命令相当于 Linux 使用 sudo apt-get update 来更新系统软件。它的作用就是更新 ROS 系统中的软件包。(因为 ROS 系统不像 Ubuntu 系统那样更新的速度快( Ubuntu 系统 1周更新一次),而 ROS 系统更新的速度相比之下慢多了,我认为主要的原因是,它刚刚进入人们的视野中不久。我相信就凭 ROS 系统的争夺优点,它会不断的发展,以后它的更新速度也会想 Ubuntu 系统那样快。我这里指的更新是系统里面的软件进行更新,而不是系统的更新:win7->win8 ,不是这样的。)

ROS Learning-002 beginner_Tutorials 如何添加ROS环境变量 和 如何更新ROS源代码的更多相关文章

  1. linux下查看和添加PATH环境变量

    linux下查看和添加PATH环境变量 $PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接. 编辑你的 PA ...

  2. Mac 可设置环境变量的位置、查看和添加PATH环境变量

    Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS X是什 ...

  3. ***LINUX添加PHP环境变量:CentOS下将php和mysql命令加入到环境变量中

    CentOS系统下如何将PHP和mysql命令加入到环境变量中,在Linux CentOS系统上 安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到 ...

  4. Mac可设置环境变量的位置、查看和添加PATH环境变量

    Mac 启动加载文件位置(可设置环境变量) 首先要知道你使用的 Mac OS X 是什么样的 Shell,使用命令 echo $SHELL 如果输出的是:csh 或者是 tcsh,那么你用的就是 C ...

  5. linux下添加PATH环境变量

    添加PATH环境变量,第1种方法:[root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH 再次查看: [root@lx ...

  6. Mac下添加java环境变量

    2015年4月22号更新: 发现一个坑:最近发现有同事按照本文方式配置jdk环境变量一直不成功,后来发现他是使用了“Oh-My-Zsh”,配置文件的路径不是/etc/profile或~/.bash_p ...

  7. Linux 添加到环境变量

    在Linux下使用源码安装软件的时候,通常只能在软件安装目录下使用该软件命令,这样太麻烦,我们希望全局使用,可以将软件安装路径添加到系统环境变量里. 添加环境变量有2种方法: 1. 使用export命 ...

  8. mac 添加环境变量(jmeter添加至环境变量中)

    Mac系统的环境变量,加载顺序为:a. /etc/profileb. /etc/pathsc. ~/.bash_profiled. ~/.bash_logine. ~/.profilef. ~/.ba ...

  9. ubuntu 应用添加进环境变量

    BG:公司同事使用的电脑系统大多为windows ,有部分mac和Ubuntu(我就是那个部分Ubuntu),某些情况为了统一格式,便下载了一些解压即可使用的软件,但是每次点开文件夹然后点开程序很繁琐 ...

随机推荐

  1. HDU - 5306: Gorgeous Sequence (势能线段树)

    There is a sequence aa of length nn. We use aiai to denote the ii-th element in this sequence. You s ...

  2. HDU 5776

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5776 求是否有区间的和是m的倍数 预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组 ...

  3. [BZOJ1242]Fishing Net

    dbzoj vjudge1 vjudge2 sol 给一个无向图,求判定是不是弦图. sol 还是弦图那套理论. 复杂度是\(O(n^2)\)的,因为\(m\)本质上和\(n^2\)是同级的. cod ...

  4. 2017.10.4北京清北综合强化班DAY4

    财富(treasure) Time Limit:1000ms   Memory Limit:128MB 题目描述 LYK有n个小伙伴.每个小伙伴有一个身高hi. 这个游戏是这样的,LYK生活的环境是以 ...

  5. 循环比赛日程表(match)(分治)

    [问题描述]     设有N个选手进行循环比赛,其中N=2M,要求每名选手要与其他N-1名选手都赛一次,每名选手每天比赛一次,循环赛共进行N-1天,要求每天没有选手轮空.     输入:M     输 ...

  6. ecshop彻底去版权把信息修改成自己的全教程

    前台部分: 一.去掉头部title部分的ECSHOP演示站-Powered by ecshop 1.问题:“ECSHOP演示站”方法:在后台商店设置 – 商店标题修改2.问题:“ Powered by ...

  7. nodejs 安装 cnpm 命令

    npm install -g cnpm --registry=https://registry.npm.taobao.org

  8. 利用GPU实现翻页效果(分享自知乎网)

    https://zhuanlan.zhihu.com/p/28836892?utm_source=qq&utm_medium=social 首发于Runtime 写文章 利用GPU实现翻页效果 ...

  9. 难道调用ThreadPool.QueueUserWorkItem()的时候,真是必须调用Thread.Sleep(N)吗?

    开门见山,下面的例子中通过调用ThreadPool.QueueUserWorkItem(WaitCallback callBack, object state)的方式实现异步调用: 1: class ...

  10. CentOS7安装wget 及配置

    yum -y install wget yum -y install setup yum -y install perl