
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4.5 Linux基础之环境变量
Linux的环境变量是一种全局变量,用于存储系统和用户级别的配置信息,例如,当前终端的ROS版本信息就存储在环境变量ROS_DISTRO中。使用代码清单1-32中的命令就可以查看该环境变量的值。
代码清单1-32 查看当前终端配置的ROS版本

前面我们使用ros2 run运行turtlesim程序包下的turtlesim_node时,ros2 run会先读取环境变量AMENT_PREFIX_PATH的值,然后到该环境变量下的lib目录内查找功能包和可执行文件。可以输入代码清单1-33中的命令,查看该环境变量的值。
代码清单1-33 查看AMENT_PREFIX_PATH环境变量的值

要在$AMENT_PREFIX_PATH/lib下查找turtlesim,命令及结果如代码清单1-34所示。
代码清单1-34 查看turtlesim程序包位置

在结果中就可以看到turtlesim目录确实存在。查看该目录下的所有内容,就可以看到turtlesim_node可执行文件,如代码清单1-35所示。
代码清单1-35 查看turtlesim目录下的所有内容

你可以尝试使用环境变量拼接出可执行文件的路径,直接运行,运行命令如代码清单1-36所示。
代码清单1-36 直接运行turtlesim_node可执行文件

可以通过export命令在Linux中设置环境变量,我们修改AMENT_PREFIX_PATH环境变量为一个错误路径,再次尝试运行turtlesim_node,就会发现找不到turtlesim,测试命令及结果如代码清单1-37所示。
代码清单1-37 设置环境变量测试

不知不觉,我们已经学完了Ubuntu的所有基础操作,现在我们来总结和梳理一下吧。