Почему я могу выполнить программу, которая не входит в переменную среды PATH?

Мне было интересно, почему команда java -version доступна глобально ?

Я могу запустить его из любого каталога и его работы:

введите описание изображения здесь>> </p>

<p> Как это работает? </p>

<p> Это то, что моя переменная system <code>---- +: = 1 =: + ----</code> выглядит следующим образом: </p>

<pre><code>---- +: = 2 = + ----</code></pre>

<p> Что касается меня, <code>---- +: = 3 =: + ----</code> находится в <code>---- +: = 4 =: + ----</code> </p></body></html>

9 голосов | спросил Pacerier 9 Jpm1000000pmMon, 09 Jan 2012 19:09:48 +040012 2012, 19:09:48

3 ответа


13

Как правило, существует группа каталогов, в которых исполняемые файлы, которые многократно используются, должны быть найдены вашей Windows, но в pratice нет конкретной причины использовать команду как глобальную или нет. Разработчики использовали его как «глобальные», где бы они ни захотели, они свободны в этом. Если вы хотите использовать любую команду как «глобальную», вам нужно будет добавить свою команду в качестве «Переменная Windows Enviroment» «. Для этого вы можете использовать следующие методы :

  1. Добавление вручную с помощью «Свойства системы Windows»: введите описание изображения здесь

  2. С помощью надстрочного инструмента Setx.exe:

Он не входит в стандартную установку Windows XP, но инструмент командной строки, называемый setx.exe, включен в Windows XP Service Pack 2. Этот инструмент расширяет команду set, так что могут быть сделаны постоянные изменения переменных среды. Например, чтобы добавить папку C: \ New Folder в путь, команда будет

setx path "%PATH%;C:\New Folder" 
  1. Скрипты для переменных среды списка:

Команда «Установить» может использоваться в командной строке вместе с перенаправлением в текстовый файл, чтобы составить список текущих переменных среды. Команда может быть

set > C:\env_list.txt 

Имя файла «C: \ env_list.txt» может быть заменено любым вашим выбором.

Microsoft также имеет VBScript, который перечисляет переменные среды на этом страница .

  1. Ключи реестра для переменных среды:

Для тех, кто имеет опыт редактирования реестра, есть еще один способ внести изменения в переменные среды. Пользовательские переменные среды хранятся в реестре в ключе:

HKEY_CURRENT_USER\Environment

Системные переменные находятся в ключе:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Обратите внимание, что любая переменная среды, которая находится в форме, которая должна быть расширена (например,% PATH%), должна быть сохранена в реестре как значение реестра REG_EXPAND_SZ. Редактирование реестра предназначено в первую очередь для скриптов, используемых системными администраторами, и не рекомендуется для обычного пользователя ПК.

Подробнее об этом можно узнать здесь.

ответил Diogo 9 Jpm1000000pmMon, 09 Jan 2012 19:40:24 +040012 2012, 19:40:24
5

«Глобальные команды» определяются вашими переменными среды.

В зависимости от того, какая ОС вы используете для ее установки, она отличается от других.

Самый общий способ -

Щелкните правой кнопкой мыши «Мой компьютер» Выберите «Свойства»

В Windows7 вам нужно будет выбрать «Дополнительные системные настройки» на панели слева.

Как только откроется диалоговое окно «Свойства системы», выберите вкладку «Дополнительно».

Внизу, есть кнопка «Переменные среды»

В диалоговом окне «Переменные среды» вы сможете настроить переменные среды для каждого пользователя или для всей системы.

Например, упрощенная системная переменная «Путь» будет выглядеть примерно так:

C: \ Program Files \ Java \ jre6 \ bin ; C: \ Ruby19 \ bin;

Исполняемые файлы в этих путях можно вызывать непосредственно из командной строки.

Причина, по которой вы можете вызвать calc, mspaint, cmd all из диалогового окна запуска, состоит в том, что C: \ windows \ system32 находится в переменной среды Path.

Вы можете добавлять настраиваемые пути в переменные среды, не переуступая существующие и не разделять пути, используя точку с запятой. ";"

Затем вы можете запустить исполняемый файл из этого пути непосредственно в командной строке без ввода всего пути, например, команды java -version.

Подробнее читайте в следующих ссылках ...

Переменные среды

Понимание и настройка переменных среды

Java.exe Поиск по новой установке

ответил Dwayne Hinterlang 9 Jpm1000000pmMon, 09 Jan 2012 19:46:10 +040012 2012, 19:46:10
2

Когда вы вводите команду, оболочка рассматривает переменную среды с именем PATH (% PATH%, $ PATH в зависимости от ОС). Он запрашивает каждый каталог в PATH, чтобы узнать, встречает ли он исполняемый файл, который соответствует введенной команде. Первый, который он найдет, будет выполнен.

См. другие ответы на некоторые из различных способов установки переменной PATH.

ответил Dennis S. 9 Jpm1000000pmMon, 09 Jan 2012 22:50:16 +040012 2012, 22:50:16

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132