I have some confusion about exporting LD_LIBRARY_PATH in zshrc on Ubuntu.
Here is the snippet in my zshrc:
# ros
source /opt/ros/noetic/setup.zsh
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH
# cuda
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.2
export LD_LIBRARY_PATH=/usr/local/cuda-11.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/cuda-11.2/lib64
# isaac gym
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
export LD_LIBRARY_PATH=/home/xzc/mambaforge/envs/mvp/lib
# mujoco
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/xzc/.mujoco/mujoco200/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/xzc/.mujoco/mujoco210/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/xzc/.mujoco/mujoco211/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/xzc/.mujoco/mujoco214/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/nvidia
export LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libGLEW.so
After echo ${LD_LIBRARY_PATH}, only LD_LIBRARY_PATH set after the isaac gym comment are shown, that is,
/home/xzc/mambaforge/envs/mvp/lib:
/home/xzc/.mujoco/mujoco200/bin:
/home/xzc/.mujoco/mujoco210/bin:
/home/xzc/.mujoco/mujoco211/bin:
/home/xzc/.mujoco/mujoco214/bin:/usr/lib/nvidia
In other words, LD_LIBRARY_PATH under the ros and cuda comments are not shown. I tried to put both ros and cuda snippets after isaac gym and all LD_LIBRARY_PATH show up successfully. But why?
I don't know much about the rules in zshrc, any help would be appreciated!