Yocto将导出添加到.bash_配置文件的方法

Yocto将导出添加到.bash_配置文件的方法,yocto,recipe,openembedded,Yocto,Recipe,Openembedded,我如何定义环境变量?否则,我会使用导出将.bashrc或.bash_配置文件放入yocto的构建中,以避免每次我使用flash操作系统时都这样做 详情: 我正在构建的董事会:Toradex Apalis T30 我添加了以下配方: 如上面配方的自述文件所示,我们需要用设置环境 export ROS_ROOT=/opt/ros export ROS_DISTRO=indigo export ROS_PACKAGE_PATH=/opt/ros/indigo/share export PATH=$PA

我如何定义环境变量?否则,我会使用导出将.bashrc或.bash_配置文件放入yocto的构建中,以避免每次我使用flash操作系统时都这样做

详情:
我正在构建的董事会:Toradex Apalis T30
我添加了以下配方:

如上面配方的自述文件所示,我们需要用
设置环境

export ROS_ROOT=/opt/ros
export ROS_DISTRO=indigo
export ROS_PACKAGE_PATH=/opt/ros/indigo/share
export PATH=$PATH:/opt/ros/indigo/bin
export LD_LIBRARY_PATH=/opt/ros/indigo/lib
export PYTHONPATH=/opt/ros/indigo/lib/python2.7/site-packages
export ROS_MASTER_URI=http://localhost:11311
export CMAKE_PREFIX_PATH=/opt/ros/indigo
touch /opt/ros/indigo/.catkin
另外,我如何添加最后一次触摸,使其只运行一次(我想不必在每次打开终端时都运行)


我试图创建一个服务来声明这些变量,但我认为这不是最有效(或至少是最好)的方法。

我不知道是否有更简单的方法,但我创建了一个.bbappend的“基本文件”配方,提供了
.profile
文件

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
里面

然后,您需要有一个名为
dot.profile
的文件,并将环境变量放入其中


作为一般建议,当您面临此类问题时,使用
find
命令查找哪个配方提供了哪些文件我不知道是否有更简单的方法,但我创建了一个.bbappend“base files”配方,提供了
.profile
文件

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
里面

然后,您需要有一个名为
dot.profile
的文件,并将环境变量放入其中


作为一般建议,当您遇到此类问题时,请使用
find
命令查找哪个配方提供了哪些文件

准确地找出文件夹路径和文件名需要时间,但最后它会起作用,而且您的find方法也有助于理解路径。这有点粗暴,但总是有效的。作为旁注,我建议您添加:#ROS autocompletion source/opt/ROS/indigo/share/rosbash/rosbash#使用roswtf export ROS OS_OVERRIDE=“ubuntu”#set ROS_IP export ROS_IP=“$(ifconfig | grep'inet addr:'| grep-v'127.0.0.1'| cut d:-f2 | awk'{print$1}cut d:-f1 | head 1)”#为ROS stuff export PATH=$PATH:/opt/ROS/indigo/binIt添加了自动完成功能。它花了一些时间精确地计算出文件夹路径和文件名,但最后它起了作用,而且您的find方法有助于理解路径。这有点粗暴,但它总是有效的。作为旁注,我建议您添加:#ROS autocompletion source/opt/ROS/indigo/share/rosbash/rosbash#使用roswtf export ROS OS_OVERRIDE=“ubuntu”#set ROS_IP export ROS_IP=“$(ifconfig | grep'inet addr:'| grep-v'127.0.0.1'| cut d:-f2 | awk'{print$1}cut d:-f1 | head 1)”#为ROS stuff export PATH=$PATH:/opt/ROS/indigo/bin添加自动完成功能