Принятое решение BYUSER13742 предполагает, что сервер определенно установлен Java. В случае, если вы добавляете это в централизованный скрипт для многих серверов, он даст некоторые ошибки, такие как:
dirname: missing operand
Try 'dirname --help' for more information.
, чтобы избежать этого и устанавливать только Java_home, если сервер имеет среду Java, небольшое улучшение:
if [ -f "$(which javac)" ]; then
export JAVA_HOME=$(dirname $(dirname $(readlink -e $(which javac))))
fi
я также включил Изменение от Simonb в использовании , которое
, чтобы найти там, где есть установка.
Ваша внутренняя оболочка не интерактивна; снимите флаг -i
и она должна перестать беспокоиться.
Смотрите Что должны делать интерактивные оболочки в группах процессов, осиротевших? для объяснения того, что происходит под оболочкой.