if [ -e "${HADOOP_PREFIX}/lib/native/libhadoop.dylib" ]; then
LIB_PATH="${HADOOP_PREFIX}/lib/native"
if [ -n "${LD_LIBRARY_PATH:-}" ]; then
LD_LIBRARY_PATH="${LIB_PATH}:${LD_LIBRARY_PATH}" # For Linux
else
LD_LIBRARY_PATH="${LIB_PATH}"
fi
if [ -n "${DYLD_LIBRARY_PATH:-}" ]; then
DYLD_LIBRARY_PATH="${LIB_PATH}:${DYLD_LIBRARY_PATH}" # For Mac
else
DYLD_LIBRARY_PATH="${LIB_PATH}"
fi
fi
The only oddity here is that the script uses "set -u" at the top, which makes bash complain if you use uninitialized variables. So you have to append ":-" to the variables that you are testing. You can see that in the lines that test LD_LIBRARY_PATH etc.