Path переменная: …что такое переменная среды PATH? • А хотите, я расскажу вам…
Содержание
Как просматривать и обновлять переменную PATH
30 июля, 2022 12:11 пп
900 views
| Комментариев нет
General, Linux | Amber
| Комментировать запись
После установки программы запустить ее можно только в том же каталоге, в котором хранится программа. Запустить программу из любого каталога вы можете с помощью переменной среды PATH.
Переменная PATH содержит список каталогов, которые система проверяет перед запуском команды. Обновив переменную PATH, вы сможете запускать любые исполняемые файлы, которые находятся в перечисленных в PATH каталогах, из любого каталога, не вводя абсолютный путь к файлу.
Например, для запуска Python вместо следующего:
/usr/bin/python3
Можно ввести следующую команду, поскольку каталог /usr/bin включен в переменную PATH:
python3
Каталоги перечислены в порядке приоритета, поэтому первыми упоминаются те, которые нужно проверять первыми.
В этом руководстве вы научитесь проверять переменную PATH и обновлять ее значение.
Читайте также: Чтение и установка переменных среды и оболочки на сервере Linux
1: Просмотр переменной PATH
Вы можете просмотреть переменную PATH с помощью следующей команды:
echo $PATH
По умолчанию переменная PATH может выглядеть примерно так (пути к файлам могут немного отличаться в зависимости от вашей системы):
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
Некоторые каталоги упоминаются по умолчанию, а каждый каталог в PATH отделяется двоеточием (:). Система проверяет эти каталоги слева направо.
Если каталог, в котором установлена необходимая программа, не перечислен в переменной PATH, вы можете добавить его самостоятельно.
2: Добавление каталога в переменную среды PATH
Добавить каталог в PATH можно двумя способами – поместив его в начале или в конце пути.
Помещая каталог (например, /the/file/path) в начало PATH, вы говорите системе, что его нужно проверять первым:
export PATH=/the/file/path:$PATH
Каталог, добавленный в конец PATH, будет проверен после всех остальных каталогов:
export PATH=$PATH:/the/file/path
Чтобы поместить в PATH несколько каталогов одновременно, добавьте двоеточие между ними:
export PATH=$PATH:/the/file/path:/the/file/path3
После выполнения команды export можно просмотреть переменную PATH, чтобы отследить изменения:
export PATH=$PATH:/the/file/path
echo $PATH
Вы получите такой вывод:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/the/file/path
Этот метод будет работать только для текущего сеанса оболочки. Как только вы выйдете из текущего сеанса и запустите новый, переменная PATH будет сброшена до стандартного значения, а добавленный в нее каталог будет удален. Чтобы значение PATH сохранялось независимо от сеанса оболочки, оно должно храниться в файле.
3: Как навсегда добавить каталог в переменную PATH
На этом этапе мы покажем, как навсегда добавить каталог в конфигурационный файл оболочки (~/.bashrc, если вы используете оболочку bash, или ~/.zshrc, если вы используете zsh). В этом руководстве мы работаем с файлом ~/.bashrc.
Сначала откройте файл:
nano ~/.bashrc
В файле ~/.bashrc хранятся данные, которые не нужно изменять. В конец файла добавьте команду export с новым каталогом:
... Adding paths to your PATH export PATH=$PATH:the/file/path
Напоминаем, что каталоги перечисляются в PATH по приоритетности.
Сохраните и закройте файл. Изменения в переменную PATH будут внесены после запуска нового сеанса оболочки. Чтобы применить изменения к текущему сеансу, используйте команду source:
source ~/.bashrc
Позже вы можете добавить новые каталоги. Для этого снова откройте этот файл и добавьте каталоги в существующую команду export.
Заключение
Переменная среды PATH является важным аспектом работы командной строки. Она позволяет запускать программы, такие как echo и python3, из любого каталога, не вводя полный путь к программе. Здесь вы узнали, как редактировать ее значение и сохранять его на постоянной основе.
Tags: CentOS, Debian, Linux, Ubuntu
УСТАНОВКА НЕОБХОДИМЫХ ИНСТРУМЕНТОВ — QA evolution
Установка JAVA
- Скачиваем необходимую версию и устанавливаем
Установка JAVA
- Прописываем переменные среды
Открываем: “мой компьютер» -> свойства -> дополнительные параметры -> переменные среды -> системные переменные”.
Создаем новую переменную JAVA и прописываем путь к jdk.
Прописываем переменные среды для Java
Имя переменной: JAVA_HOME
Значение переменной:c:\Program Files\Java\jdk1. 8.0_101 (ваша версия java)
Прописываем нужный нам путь в переменную Path
переменную Path для Java Home
Имя переменной : PATH
Значение переменной : %JAVA_HOME%\bin
2. Установка Maven
- Скачиваем Apache Maven
Выбираем файл Binary zip archive
Установка Maven
- Распаковываем архив в инсталляционную директорию.
Например в C:\Program Files\maven\. Нужно учесть тот факт, что в папке maven должен находится файл bin.
- Прописываем переменные среды
Открываем: “мой компьютер» -> свойства -> дополнительные параметры -> переменные среды -> системные переменные”.
Создаем новую переменную M2_HOME и прописываем путь к папке.
прописываем переменную M2_HOME
Имя переменной: M2_HOME
Значение переменной: C:\Program Files\maven\
Прописываем нужный нам путь в переменную Path
path для M2_HOME
Имя переменной : PATH
Значение переменной : %M2_HOME%\bin
3. Установка Android Studio
- Скачиваем Android Sdk
Скачиваем по ссылке и устанавливаем.
Находим папку SDK, где лежат необходимые инструменты. По умолчанию путь к папке C:\Users\user\AppData\Local\Android\sdk, т.к в дальнейшем нам понадобятся инструменты AVD Manager и SDK Manager
Установка Android Studio
- Прописываем переменные среды
Открываем: “мой компьютер» -> свойства -> дополнительные параметры -> переменные среды -> системные переменные”.
Создаем новую переменную ANDROID_HOME и прописываем путь к папке sdk.
переменные среды для Android
Имя переменной: ANDROID_HOME
Значение переменной: C:\Users\user\AppData\Local\Android\sdk
Прописываем пути к папкам tools и platform-tools в переменную Path
path для Android
Имя переменной : PATH
Значения переменных : %ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
4. Устанавливаем Node.js
Есть две возможности запуска Appium: UI или консольная. Для установки и запуска консольной версии нам дополнительно понадобится NodeJs. Если хотите запускать Appium через UI, пропускаем этот пункт. Но мы все же разберемся с консольной версией
Переходим по ссылке
Выбираем нужную версию. Скачиваем и устанавливаем
- Прописываем переменные среды
Открываем: “мой компьютер» -> свойства -> дополнительные параметры -> переменные среды -> системные переменные”.
Создаем новую переменную NODE_HOME и прописываем путь к папке nodejs.
Node Home
Имя переменной: NODE_HOME
Значение переменной: C:\Program Files\nodejs
Прописываем нужный нам путь в переменную Path
path для Node
Имя переменной : PATH
Значение переменной : %NODE_HOME%\node_modules\npm\bin
5. Перезапускаем систему
6. Проверяем корректность установки
- Проверяем корректность установки java
Открываем командную строку (поиск -> cmd). Запускаем команду java -version.
Если видим такой ответ, все прошло успешно.
jave -version
- Проверяем корректность установки maven
Запускаем команду mvn -version.
Если видим такой ответ, все прошло успешно.
version maven
Если не прокатило, ищем, где накосячили.
7. Скачиваем и устанавливаем среду разработки IntelliJ IDEA
Выбираем версию Community
устанавливаем IntelliJ IDEA
8. Установка Appium Server
Как говорилось ранее, есть две возможности запуска Appium: UI или консольная. Для установки и запуска консольной версии мы установили NodeJs. А UI-версию можно скачать с официального сайта, и она сразу будет готова к работе.
Но мы, пожалуй, разберемся с консольной версией.
Ищем в поиске “Node.js command prompt” и запускаем
Прописываем команду npm install -g appium , кликаем Enter и ждем (npm uninstall -g appium — команда для деинсталяции appium сервера)
устанавливаем Appium Server
9. Запускаем Appium Server
В “Node.js command prompt” запускаем команду “appium”
Если видим приветствие и версию Appium, значит все прошло хорошо
запуск Appium Server
(На заметку: Чтобы выйти из текущего выполнения нужно кликнуть CTRL+C -> Y)
Почему Windows не может обработать переменную среды в пути?
Существует определенная проблема с расширением переменных среды в переменной PATH, когда переменная расширяется до пути, содержащего пробелы.
Мы создали собственные переменные системного уровня, такие как «OUR_ROOT=c:\MyRoot», а затем использовали их в системном PATH, например «PATH=;%OUR_ROOT%\bin;» и это правильно расширяется до «PATH=;c:\MyRoot\bin;». Пока нет проблем.
Но в Windows 7 (32-разрядная версия) продукт устанавливался сам и создавал переменные системной среды следующим образом:
STUDIO_BIN=C:\program files\Название компании\Название продукта 10.4\bin
и добавил его в системную переменную PATH:
PATH=<другие элементы пути>;%STUDIO_BIN%;<больше элементов пути>
Но значения PATH, показанные в CMD, содержали «%STUDIO_BIN%;» а не расширенный путь. Значение в «Мой компьютер» > «Свойства» > «Дополнительно» > «Env.Vars» также осталось нераскрытым. Это означало, что я не мог запускать программы, которым требовалась DLL в этом каталоге.
Просто изменив STUDIO_BIN (через Мой компьютер>Свойства>Дополнительно…>Env Vars) на имя без пробелов:
STUDIO_BIN=C:\ProductName\bin
, а затем перезапустить окно CMD, PATH теперь:
PATH=<другие элементы пути>;C:\ProductName\bin;<больше элементов пути>
Другим решением является достаточное изменение системной переменной, которую вы используете в PATH, используя диалоговое окно «Мой компьютер» > «Свойства» > «Дополнительно…» > «Переменные среды».
Я попытался добавить символ и удалить его, чтобы внести «изменение», а затем «ОК», запустил новую подсказку CMD, и PATH НЕ был правильно расширен.
Затем я попытался удалить часть пути, так что это было
STUDIO_BIN=C:\Program Files\Company Name
(опуская «Название продукта 10. 4»), и вот, следующая подсказка CMD показала PATH с правильно расширенным STUDIO_BIN!
Как ни странно, если я вернусь и добавлю «Название продукта 10.4» в STUDIO_BIN (включая все пробелы, которые были изначально там до того, как я начал с ним возиться), а PATH ВСЕ ЕЩЕ будет правильно расширен.
Очевидно, что при достаточном изменении содержимого переменная PATH подвергается некоторой дополнительной обработке в диалоговом окне «Переменные среды», что позволяет ей работать. Обработка, которая не выполняется, когда переменная была добавлена установщиком продукта (который, вероятно, просто напрямую изменил PATH в реестре).
Я почти уверен, что проблема была и в XP. Это только что всплыло для меня в Windows 7, когда я собирал новую машину для разработки. По-видимому, это не было исправлено Microsoft.
По-видимому, даже переменные, определенные MS, такие как %ProgramFiles%, не будут правильно расширяться в PATH.
Эта страница предоставляет возможный ответ, если вы устанавливаете PATH через командную строку или пакетный файл. (Заключите всю команду после SET в кавычки.) Я не знаю, какой установщик продукта, который я установил, использовал для установки переменных среды, но, очевидно, он обошел любую обработку, необходимую для правильного расширения путей с помощью пробелов.
Итак, резюмируя, вы можете либо:
изменить пути (и переместить все связанные файлы) на пути без пробелов, либо
отредактируйте переменные, которые не расширяются, в диалоговом окне «Переменные среды» (изменив их достаточно, чтобы они правильно обрабатывались — я не уверен, что этого достаточно).
Переменная пути Windows содержит неправильную запись
Задавать вопрос
спросил
Изменено
1 год, 8 месяцев назад
Просмотрено
375 раз
Я знаю, что результирующий путь представляет собой конкатенацию системных и пользовательских переменных. Однако мой результирующий путь содержит запись, откуда я не знаю, и, кроме того, она искажена, поэтому это вызывает некоторые проблемы.
C:\Users\sarc83518>путь
ПУТЬ=C:\Program Files (x86)\Razer\ChromaBroadcast\bin;C:\Program Files\Razer\ChromaBroadcast\bin;C:\WINDOWS\system32;C:\WINDOWS ;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\Git\cmd;C:\Program Files\PuTTY; C:\Program Files\dotnet;C:\Program Files\apache-maven-3.6.3\bin;C:\Program Files\gradle\gradle-6.8\bin;C:\ProgramData\chocolatey\bin;c:\ dev;C:\Program Files\PowerShell\7;C:\Users\L1_asarco\AppData\Local\Microsoft\WindowsApps;C:\Users\sarc83518.jdks\jdk-16.0.1\bin;C:\WINDOWS\system32 \config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\Program Files\Amazon\AWSCLIV2;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32 \WindowsPowerShell\v1.0;C:\WINDOWS\System32\OpenSSH;C:\Program Files\Amazon\AWSSAMCLI\bin;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\версия -бин; C:\Users\sarc83518.jdks\jdk-16.0.1=:\Users\sarc83518.jdks\openjdk-8u282-b0; %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
(посмотрите на запись, выделенную жирным шрифтом)
Это мои системные переменные:
А это моя пользовательская переменная:
Как видите, эта неправильная запись появляется между моей системной и пользовательской переменными, и у меня есть без понятия откуда.
Как я могу избавиться от этого?
Изменить: вот значение JAVA_HOME, и Java работает нормально, проблема не в этом.
Я ничего не добавляю в путь вручную, запись, выделенная жирным шрифтом, просто появляется там, и я не знаю, откуда она берется, это вызывает проблемы с некоторым приложением, которое пытается прочитать записи пути одну за другой и терпит неудачу в этом потому что это неверный путь.
Я собираюсь удалить повторяющиеся записи, но проблема не в этом.
Edit2: Изменчивая среда, выглядит хорошо.
- windows-10
- переменные окружения
- путь
15
Здесь несколько проблем.