2

На 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 [-options] -jar jarfile [args ...] (для выполнения файла JAR), где параметры включают в себя: -d32 использовать 32-разрядную модель данных, если доступно -d64 использовать 64-разрядную модель данных, если доступно -server, чтобы выбрать виртуальную машину "сервер". Виртуальной машиной по умолчанию является сервер, потому что вы работают на машине серверного класса.

Мой вопрос заключается в следующем: как он распознает мою команду java, если на нее нет ссылки в моей переменной PATH и на нее нет ссылки в каталоге, который в данный момент изучает мой терминал?

Спасибо вам за помощь.

1 ответ1

3

Java находится в /usr /bin в моей системе OSX 10.9.4:

$ which java
/usr/bin/java

Этот каталог также находится в вашем командном пути.

Запись в /usr /bin является символической ссылкой. Возможно, вы ожидали, что в вашем пути будет находиться каталог установки Java, но это не обязательно так. Создание символических ссылок в /usr /bin является обычной практикой.

$ ls -l /usr/bin/java
lrwxr-xr-x  1 root  wheel  74 May 17 17:02 /usr/bin/java -> 
    /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .