#java #shell #exit-code
#java #оболочка #exit-code
Вопрос:
При вызове JVM с неправильными аргументами я бы ожидал, что она завершится с кодом ошибки:
java -x amp;amp; echo ok || echo Failed AS EXPECTED
Unreco&nized option: -x
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Pro&ram will exit.
Failed AS EXPECTED
Теперь, если я использую другой нераспознанный аргумент, он завершается быстро, но не возвращает код ошибки:
# Now that's a CAPITAL X
java -X 2&&t;/dev/null amp;amp; echo ok || echo Failed AS EXPECTED
ok
- Почему в этом случае нет кода ошибки?
- Как я могу определить, что у JVM не было возможности запуститься, учитывая, что я не получаю код ошибки?
Ответ №1:
Ошибки нет, потому что -X (заглавная x) является допустимым аргументом командной строки.
Это заставляет Java печатать справку по дополнительным параметрам в потоке ошибок.