На OSX, в терминале, используя команду:
echo $PATH
Дает мне следующий вывод:
/Library/Frameworks/Python.framework/Versions/2.7/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local / bin: / usr / local / git / bin: / Applications / Android Studio.app/sdk/platform-tools
Вы можете видеть, что ссылка на JAVA там, где нет. Еще в терминале, когда я печатаю:
java
Это замечено как действительная команда и результаты:
Использование: java [-options] class [args ...] (выполнить класс) или java [-опции] -jar jarfile [аргументы ...] (выполнить файл JAR) где варианты включают в себя: -d32 использовать 32-битную модель данных, если она доступна -d64 использовать 64-битную модель данных, если она доступна -сервер для выбора "серверной" виртуальной машины ВМ по умолчанию - сервер, потому что вы работаете на машине серверного класса.
Мой вопрос заключается в следующем: как она распознает мою команду java, если на нее нет ссылки в моей переменной PATH и на нее нет ссылки в каталоге, который в данный момент исследует мой терминал?
Спасибо вам за помощь.
Ответы:
Java находится в / usr / bin в моей системе OSX 10.9.4:
Этот каталог также находится в вашем командном пути.
Запись в / usr / bin является символической ссылкой. Возможно, вы ожидали, что на вашем пути будет каталог установки Java, но это не обязательно так. Создание символических ссылок в / usr / bin является обычной практикой.
источник
/usr/libexec/java_home -V
команда.