ros工作区间使用 ‘source ~/.bashrc’ 后没用问题
最近在编译一工作区间 racecar 时,发现source ~/.bashrc 后,发现环境变量只在当前终端生效。并不能在所有的终端中生效。弄了很久,都没发现问题。百度也找不到答案。终于某天看到了朋友的这个博客:链接,他文章的最后一句话:“如果你在Ubuntu下用上述方法解决不了该问题,那就把你需要进行source的工作区间的.bash路径(或现在用的工作区间的.bash路径)放在.bashrc文件最末尾然后Ctrl+S保存,该问题就解决了。”给了我答案。
之前的.bashrc文件:
......
if [ -f /opt/ros/kinetic/setup.bash ]; then
#source /opt/ros/kinetic/setup.bash
. /opt/ros/kinetic/setup.bash
fi
#config ros_voice_system env
source /home/axiong/ros_voice_system/devel/setup.bash
#workspace
source ~/racecar/devel/setup.bash
source ~/catkin_ws/devel/setup.bash
更改后:
把 source ~/racecar/devel/setup.bash 这句话放到最后面
......
if [ -f /opt/ros/kinetic/setup.bash ]; then
#source /opt/ros/kinetic/setup.bash
. /opt/ros/kinetic/setup.bash
fi
#config ros_voice_system env
source /home/axiong/ros_voice_system/devel/setup.bash
#workspace
source ~/catkin_ws/devel/setup.bash
source ~/racecar/devel/setup.bash
在 source ~/.bashrc 一遍,这样 racecar 工作区间的环境变量就能在所有的终端中使用了。