Интерактивная оболочка в фоне в другом сценарии оболочки

Принятое решение 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 в использовании , которое , чтобы найти там, где есть установка.

0
15.12.2014, 21:21
1 ответ

Ваша внутренняя оболочка не интерактивна; снимите флаг -i и она должна перестать беспокоиться.

Смотрите Что должны делать интерактивные оболочки в группах процессов, осиротевших? для объяснения того, что происходит под оболочкой.

1
28.01.2020, 02:51

Теги

Похожие вопросы