Все указывает на то, что эти переменные не были определены при запуске вашего скрипта.
Вы должны убедиться, что они установлены для вашего скрипта.Перед первым циклом поместите строку:
echo "[${HADOOP_HOME}] [${HBASE_HOME}]"
и убедитесь, что она не выдает "[] []"
(или даже один "[]"
).
Дополнительно добавьте set +x
строка в верхней части скрипта - это будет выводить строки перед их выполнением, и вы сможете увидеть, что делается.
Имейте в виду, что некоторые оболочки не передают переменные среды в подоболочки, если вы явно не экспортируете их(их недостаточно).