ROS: Které proměnné prostředí install/setup.sh skutečně modifikuje?

Při spuštění install/setup.sh nebo install/local_setup.sh v ROS2 se možná ptáte, které proměnné prostředí jsou skutečně modifikovány.

Přesné proměnné mohou záviset na projektu, který se používá. Pro tento příklad použijeme franka_description.

Při použití buď setup.sh nebo local_setup.sh jsou modifikovány následující proměnné:

  • AMENT_PREFIX_PATH: [package]/install/[package]: je přidán na začátek
  • CMAKE_PREFIX_PATH: [package]/install/[package]: je přidán na začátek
  • COLCON_PREFIX_PATH: [package]/install je přidán na začátek

Metoda

trace-env.sh
cd franka_description
colcon build
printenv > a.env
source install/setup.sh
printenv > b.env

Nyní můžeme porovnat soubory:

diff-env.sh
diff a.env b.env

Příklad výstupu

Výstup je v tomto případě identický pro setup.sh a local_setup.sh:

env-diff.txt
76,77c76,77
< AMENT_PREFIX_PATH=/opt/ros/jazzy
< CMAKE_PREFIX_PATH=/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
---
> AMENT_PREFIX_PATH=/home/user/franka_description/install/franka_description:/opt/ros/jazzy
> CMAKE_PREFIX_PATH=/home/user/franka_description/install/franka_description:/opt/ros/jazzy/opt/gz_math_vendor:/opt/ros/jazzy/opt/gz_utils_vendor:/opt/ros/jazzy/opt/gz_cmake_vendor
81a82
> COLCON_PREFIX_PATH=/home/user/franka_description/install

Podívejte se na podobné články podle kategorie: ROS