Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 1

Переменные окружения для python проектов

Работа с переменными

Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например:

echo %PROCESSOR_ARCHITECTURE%

Чтобы установить значение переменной:

SET TEMP=C:\TEMP

Кроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).

Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.

Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:

WScriptShell = ObjCreate("WScript.Shell")
UserName = WScriptShell.ExpandEnvironmentStrings("%USERNAME%")

Следует учитывать, что набор значений переменных среды получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды или создает новую переменную, эти изменения не будут доступны первому процессу.

Значения переменных среды LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH устанавливаются при открытии сеанса на основании значений в ветке реестра .

Значения глобальных переменных среды типа PATH, TEMP и пр. хранятся в ветке реестра .

Способы редактирования и создания

Переменные среды в Windows 7, 8, 10 можно легко редактировать самостоятельно. Это делается различными способами – через Свойства компьютера, с помощью командной строки и путем редактирования реестра.

Через Свойства компьютера

Проще всего отредактировать эти значения с помощью графического интерфейса. Для этого следует в Проводнике щелкнуть правой кнопкой мыши по иконке компьютера («Этот компьютер» в Windows 10, «Мой компьютер» в Windows 7) и выбрать «Свойства».

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

После этого появится окно, позволяющее с помощью удобного графического интерфейса просматривать, добавлять, редактировать и удалять нужные элементы.

Интерфейс создания и изменения предельно прост – достаточно указать имя и значения. Предусмотрены диалоги для удобства выбора каталогов и файлов.

Через командную строку

Чтобы начать редактирование этим способом, необходимо открыть командную строку в режиме администратора. Для этого необходимо нажать Win+R, набрать в поле «cmd» и нажать Ctrl+Shift+Enter.

Для работы с переменными окружениями в командной строке Windows 7, 8, 10 предусмотрена утилита setx.

Для создания или изменения значения переменной среды пользователя данная утилита имеет следующий синтаксис:

Здесь new_var – название, a hello_world – значение.

Для создания или изменения системной переменной следует добавить параметр /M, например:

Примечание! В случае, если название и/или значение содержат хотя бы один пробел, нужно использовать кавычки:

Для очистки значения можно просто указать кавычки в качестве значения:

При этом утилита setx не может удалять переменные полностью. Это можно сделать путем «прямого» удаления соответствующей записи в реестре с помощью утилиты REG. Для пользовательской переменной команда будет выглядеть так:

Для системной она будет такой:

Замечание по поводу кавычек актуально и для этих команд.

Через реестр

Для управления этими данными через реестр достаточно встроенного редактора regedit. Чтобы его открыть следует нажать Win+R, ввести в поле «regedit» и нажать OK. Для управления пользовательскими параметрами следует открыть ветку HKEY_CURRENT_USEREnvironment, для управления системными — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment.

Установка переменных оболочки и среды

Ниже приведены несколько примеров, чтобы продемонстрировать разницу между переменными оболочки и среды и объяснить синтаксис установки этих переменных.

Создание переменных оболочки

Для начала нужно задать переменные оболочки текущей сессии. Это делается очень просто, для этого нужно только указать имя и значение. Как уже было сказано, для написания имен таких переменных используются заглавные буквы.

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

Итак, полученная переменная оболочки действительна в текущей сессии, но не передается ее дочерним процессам.

Чтобы в этом убедиться, используйте команду grep на результат команды set:

Убедиться, что данная переменная не является переменной среды, также можно, запустив grep на результат команды printenv:

Данное действие не выведет никакого результата.

Это можно использовать, чтобы открыть значение любой переменной оболочки или среды.

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

Опять же, полученная переменная не должна быть передана какому-либо дочернему процессу. Чтобы это протестировать, внутри текущей оболочки разверните новую bash-оболочку:

Если, развернув дочернюю оболочку, попытаться открыть содержимое переменной, ничего не будет выведено. Это значит, что все работает должным образом.

Чтобы вернуться в исходную оболочку, введите exit:

Создание переменных среды

Теперь попробуйте превратить переменную оболочки в переменную среды. Это делается путем экспорта переменной. Команда, выполняющая экспорт, имеет соответствующее название.

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

Теперь эта переменная выведена в данном списке. Можно также снова развернуть дочернюю оболочку:

Отлично! Дочерняя оболочка получила переменную исходной оболочки. Попробуйте экспортировать еще одну переменную, прежде чем покинуть дочернюю оболочку.

Проверьте, экспортировалась ли переменная:

Теперь вернитесь в исходную оболочку:

Проверьте, можно ли открыть данную переменную:

Результат не возвращается

Это происходит потому, что переменные среды передаются только дочерним процессам. Встроенного способа установки переменных среды родительской оболочки нет. В большинстве случаев это предотвращает влияние программ на операционную среду, из которой они были запущены.

Переменная NEW_VAR была установлена как переменная среды дочерней оболочки. Эта переменная действительна для данной оболочки и ее дочерних оболочек и процессов. После возвращения пользователя в исходную оболочку данная среда была разрушена.

Перемещение и сброс переменных

Переменная TEST_VAR все еще является переменной среды. Чтобы снова сделать ее переменной оболочки, наберите:

Теперь эта переменная больше не является переменной среды:

Это снова переменная оболочки:

Чтобы полностью сбросить переменную, будь то переменная среды или оболочки, используйте команду unset:

Убедитесь, что такой переменной больше нет:

Результат не был выведен, поскольку переменная была сброшена.

Основные переменные среды и оболочки

Некоторые особенно полезные переменные среды и оболочки используются очень часто.

Ниже приведен список основных переменных среды:

  • SHELL: описывает оболочку, которая интерпретирует введенные команды. В большинстве случаев по умолчанию установлена bash, но это значение можно изменить в случае необходимости.
  • TERM: указывает вид терминала, эмулируемого при запуске оболочки. В зависимости от операционных требований можно эмулировать разные аппаратные терминалы. Как правило, об этом не нужно беспокоиться.
  • USER: текущий пользователь.
  • PWD: текущий рабочий каталог.
  • OLDPWD: предыдущий рабочий каталог. Оболочка хранит его на случай запуска команды cd -.
  • LS_COLORS: определяет цветовые коды, которые используются для цветного вывода результата команды ls. Такой вывод помогает пользователю быстрее прочесть результат команды (например, быстро различить типы файлов).
  • MAIL: путь к текущему почтовому ящику пользователя.
  • PATH: список каталогов, к которым обращается система при выполнении команд. Когда пользователь запускает команду, система проверяет эти каталоги в указанном порядке в поисках исполняемого файла.
  • LANG: текущие настройки языка и локализации, в том числе кодировка символов.
  • HOME: домашний каталог текущего пользователя.
  • _: последняя выполненная команда.

Ознакомившись со списком переменных среды, изучите список переменных оболочки:

  • BASHOPTS: список опций, использованных при выполнении bash. Это можно применять для того, чтоб проверить, работает ли среда должным образом.
  • BASH_VERSION: запущенная версия bash в удобочитаемой форме.
  • BASH_VERSINFO: версия bash в машиночитаемом формате.
  • COLUMNS: определяет ширину вывода в столбцах.
  • DIRSTACK: стек каталогов, доступных командам pushd и popd.
  • HISTFILESIZE: максимальное количество строк, содержащееся в файле истории команд.
  • HISTSIZE: Количество команд, которые необходимо запоминать в списке истории.
  • HOSTNAME: текущее имя хоста.
  • IFS: Внутренний разделитель полей ввода в командной строке. По умолчанию установлен пробел.
  • PS1: определяет строку первичного приглашения – вид командной строки при запуске сессии оболочки. Переменная PS2 устанавливает строку вторичного приглашения, если команда занимает несколько строк.
  • SHELLOPTS: параметры оболочки, которые можно установить при помощи set.
  • UID: уникальный идентификатор текущего пользователя.

Файлы, связанные с UserProfile.exe

Файлы EXE, связанные с UserProfile.exe

Имя файлаОписаниеПрограммное обеспечение (версия)Размер файла (в байтах)
bpclient.exe Windows Executable Windows XP/NT Tools for Administration 2003 Professional Edition 2003 110592
RAReboot.exe Windows Executable Windows XP/NT Tools for Administration 2003 Professional Edition 2003 94208
jarsigner.exe Windows Executable Windows XP/NT Tools for Administration 2003 Professional Edition 2003 28794
serialver.exe Windows Executable Windows XP/NT Tools for Administration 2003 Professional Edition 2003 28795
ST6UNST.EXE Windows Executable Windows XP/NT Tools for Administration 2003 Professional Edition 2003 73216

Why do I need to open the profile folder?

Usually, you don’t need to open your profile folder directly. The Quick Access shortcuts on the left side of the File Explorer window (Desktop, Documents, Downloads, Music, etc.) already point to the major folders in your profile directory.

Note

As a general rule, you should not rearrange the files and folders that already exist in your profile directory, because Windows expects them to have certain names and locations. For instance, do not move or rename your Desktop folder.

However, you can put files and folders in your profile directory if you choose.

Also, some tasks, such as adding items to your Startup folder, require you know the location of your profile folder.

How to make Windows programs start automatically.

Автоматическая установка переменных среды

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

Это немного сложнее, чем кажется сначала, поскольку bash-оболочка читает множество конфигурационных файлов.

Типы сессий оболочки

Оболочка bash читает разные конфигурационные файлы в зависимости от того, как сессия была запущена. Первые два типа сессий, определяющие оболочку, — это стартовая и дочерняя.

Стартовая, или начальная оболочка (login shell) — это сессия оболочки, которая открывается после авторизации пользователя. Если пользователь входит в терминал или проходит авторизацию при помощи SSH, будет открыта стартовая оболочка.

Если новая сессия запускается из авторизованной (стартовой) сессии (как ранее в примерах запускалась новая bash-оболочка), эта сессия будет дочерней (non-login shell). Чтобы открыть эту сессию, не нужно проходить процедуру авторизации.

Также сессии оболочки бывают интерактивными и неинтерактивными.

Интерактивная сессия оболочки (interactive shell) – это сессия, привязанная к терминалу. Неинтерактивная сессия оболочки (non-interactive shell) – это сессия, не привязанная к терминалу.

Итак, сессии оболочки классифицируются по таким аспектам: стартовая-дочерняя, интерактивная-неинтерактивная.

Обычная сессия, открытая с помощью SSH, как правило, является интерактивной стартовой сессией. Скрипт, запущенный через командную строку, обычно работает в неинтерактивной дочерней сессии. Терминальная сессия – это различные комбинации этих двух свойств.

Классифицируя сессию как стартовую или дочернюю, система понимает, какие файлы нужно читать для инициализации сессии оболочки.

Итак, сначала стартовая сессия получает конфигурации из файла /etc/profile. Затем она ищет конфигурационный файл стартовой оболочки в домашнем каталоге пользователя, чтобы получить определенные пользователем конфигурации.

Такая сессия читает файлы ~/.bash_profile, ~/.bash_login и ~/.profile и не читает остальных файлов.

Дочерняя сессия, в свою очередь, читает /etc/baash.bashrc, а затем пользовательский файл ~/.bash.rc для развертывания среды.

Неинтерактивные оболочки читают переменную среды BASH_ENV и указанный файл, чтобы создать новую среду.

Как задать переменные среды

Как видите, конфигурации разбросаны по разным файлам.

Это делает систему очень гибкой, что полезно в отдельных ситуациях, когда для стартовой и дочерней оболочек нужно установить разные параметры. Все же, для этих оболочек, как правило, используются одинаковые настройки.

К счастью, большинство дистрибутивов Linux указывает конфигурационный файл дочерней оболочки источником конфигураций стартовой оболочки. Это значит, что определить переменные среды обеих сессий можно в конфигурационных файлах дочерней оболочки.

Как правило, для обеих оболочек используются переменные среды, задаваемые пользователем. Это значит, что задать эти переменные можно в файле ~/.bashrc.

Откройте данный файл:

Скорее всего, он уже содержит немного данных. Большинство заданных здесь значений – это параметры bash, не имеющие отношения к переменным среды. Переменные в данном файле задаются точно так же, как и в командной строке:

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

Чтобы задать общесистемные переменные, внесите их в /etc/profile, /etc/bash.bashrc или /etc/environment.

Глобальное определение переменных

Для того, чтобы определить эти переменные централизованно, в Calculate существует каталог . В нём находится ряд файлов, например, «00basic», «05gcc» и так далее, в которых определяются переменные, необходимые программам, указанным в названии файлов.

Например, при установке gcc ebuild создает файл /etc/env.d/05gcc, содержащий следующие определения переменных:

PATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/3.2"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/3.2/info"
CC="gcc"
CXX="g++"
LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3"

В других дистрибутивах вам предлагается изменять или добавлять определения переменных среды в или где-нибудь еще

Calculate, с другой стороны, облегчает вам поддержку и управление переменными среды, избавляя от необходимости уделять внимание многочисленным файлам, содержащим определения переменных

Например, когда обновляется gcc, также без малейшего участия пользователя обновляется и /etc/env.d/05gcc.

От этого выигрывает не только Portage, но и вы, пользователь. Иногда от вас может потребоваться глобальная установка какой-нибудь переменной. Возьмем, к примеру, переменную . Вместо того, чтобы возиться с , теперь можно просто создать файл 99local и добавить нужные определения туда:

/etc/env.d/99local

http_proxy="proxy.server.com:8080"

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

Сценарий env-update

Переменная определяется в нескольких файлах в . Нет, нет это не ошибка: при запуске различные определения объединяются перед обновлением переменных среды, позволяя пакетам (или пользователям) добавлять собственные значения переменных, не влияя на уже существующие.

Сценарий объединяет значения переменных из файлов, находящихся в , в алфавитном порядке. Имена файлов должны начинаться с двух десятичных цифр. Порядок обновления, используемый :

          00basic        99kde-env       99local
      +-------------+----------------+-------------+
PATH="/bin:/usr/bin:/usr/kde/3.2/bin:/usr/local/bin"

Объединение выполняется не всегда, а только для следующих переменных: KDEDIRS, PATH, CLASSPATH, LDPATH, MANPATH, INFODIR, INFOPATH, ROOTPATH, CONFIG_PROTECT, CONFIG_PROTECT_MASK, PRELINK_PATH и PRELINK_PATH_MASK. Для всех остальных переменных используется значение, определенное в последнем из файлов (по алфавиту в каталоге ).

При запуске сценария env-update создаются все переменные среды, и помещаются в (используемый файлом ). Кроме того, на основе значения создается . После этого запускается , чтобы вновь создать файла , используемый динамическим компоновщиком.

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

env-update && source /etc/profile

Примечание: Эта команда обновляет переменные только в текущем терминале, в новых консолях и их потомках. То есть, если вы работаете в X11, потребуется или набирать в каждом открываемом терминале, или перезапустить X, чтобы все новые терминалы обращались к новым переменным. Если вы используете диспетчер входа в систему, станьте пользователем с правами root и наберите . Если нет, вам придется выйти и снова войти в систему, чтобы X порождала потомков, использующих новые значения переменных.

Pass variables between batch scripts

If Command Extensions are disabled, the following dynamic variables will be not accessible:%CD% %DATE% %TIME% %RANDOM% %ERRORLEVEL% %CMDEXTVERSION% %CMDCMDLINE% %HIGHESTNUMANODENUMBER%

“Men may be convinced, but they cannot be pleased against their will. But though taste is obstinate, it is very variable, and time often prevails when arguments have failed” ~ Samuel JohnsonRelated:

How the environment-building process works — Raymond Chen PowerShell — Working with Environment variablesUser Shell Folders — Profile, Start Menu — Location of user profile folders.Detecting 32 vs 64 bit WindowsCALL — Evaluate environment variables.SET — View environment variables, set local variables.SETX — Set environment variables.Q100843 — The four types of environment variable.Q286705 — Set compatibility variables in a batch file.Q242557 — Registry Settings for Folder Redirection.StackOverflow — Storing a Newline in a variable.

 
Copyright 1999-2020 SS64.com
Some rights reserved

Расшифровка значений

юзер

Требуется задать юзера, с учетной записью которого на устройстве предполагается осуществить некоторые действия.

код_доступа

Позволяет присвоить или внести коррективы в код доступа конкретного юзера.

/domain

Действие производится на контроллере основного для указанного устройства домена.

параметры

Позволяет осуществить установку параметров КС. Следует перечислить возможные варианты в таблице ниже.

/active:{no | yes}

Осуществляет блокировку или разрешение (в зависимости от указанного аргумента) учетной записи юзера. В первом случае предусматривается невозможность осуществления подсоединения к ресурсам устройства.

/comment:»информация»

Позволяет ввести комментарий к определенной записи. Не разрешается использовать в качестве поля «информация» более 48 символов.

/countrycode:nnn

Устанавливает код государства, который задает применяемые в ходе выдачи справочные сведения или сообщения об ошибках. Если необходимо указать код по умолчанию, требуется использовать в данном параметре 0

/expires:{{мм/дд/гггг |  дд/мм/гггг | мм,дд  ,гггг} | never}

Указывает дату, после которой запись юзера станет просроченной. В таком случае, будет невозможным использование всех функций. Разрешается применение нескольких вариантов написания даты подобного события. Особым моментом является тот факт, что месяцы можно прописывать не только числами, но и их названиями.

/fullname:»имя»

Позволяет установить настоящее имя юзера, а не его логическое название. Требуется использовать кавычки.

/homedir:путь

Устанавливает главный каталог юзера. Обязательным условием является прописывание того каталога, который имеется на самом деле.

/passwordchg:{yes | no}

Здесь можно задать то, способен ли будет юзер самостоятельно изменять код доступа.

/passwordreq:{yes | no}

Указывает необходимость применения кода доступа для входа в профиль. Следует аккуратно использовать аргумент yes, поскольку в таком случае отсутствует приватность информации.

/profilepath:

Указывает путь до профиля юзера.

/scriptpath:путь

Указывает путь до документа сценария входа.

/times:{день] ,час] | all}

Устанавливает периоды, на протяжении которых юзер может эксплуатировать устройство. Предусматривается большое количество доступных вариантов для настроек данного типа. Если ничего не прописывать, то юзер не сможет выполнить подключение. Значение all устанавливает возможность подсоединения в любое время.

/usercomment:»комментарий»

Создает или изменяет комментарий, принадлежащий к конкретной учетной записи. Чтобы отображение информации было верным, обязательным считается применение кавычек.

/workstations:{название_устройства | *}

Устанавливает рабочие станции для доступа в сеть. Их количество не может превышать восемь штук. Для разделения в перечне требуется использовать символы (,). Разрешается применять символ (*) – это означает доступ с любого устройства.

net view ]

net view /network:nw

Расшифровка значений

название_устройства

Устанавливает название устройства для того, чтобы можно было осуществить вывод находящихся на нем общих ресурсов.

Устанавливает домен и для него станет выдаваться перечень устройств.

/network:nw

Создание переменной среды в Windows

Пользователь может самостоятельно создать новую переменную для открытия директорий на компьютере, или для запуска программ.

Перед внесением изменений в переменные окружения, обратите внимание на то, что бездумное изменение значений переменных среды Windows может привести к сбоям или неполадкам в работе операционной системы.

Проделайте следующее:

  1. В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
  2. Нажмите на кнопку «Создать…».

На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.

  1. В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.
  1. В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.
  1. В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».
  1. На Рабочем столе компьютера откроется окно запущенной программы.

Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.

Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.

Вам также может быть интересно:

  • Команды командной строки Windows: список
  • Команды «Выполнить» в Windows: полный список

Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: , то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.

При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.

Примеры

В этом разделе описываются типовые переменные окружения, используемые в Linux.

DE содержит имя окружения рабочего стола (Desktop Environment). xdg-open использует это значение для выбора наиболее удобного приложения для открытия файлов, которое предоставляет окружение. Для использования этой возможности может потребоваться установить некоторые пакеты. Для GNOME необходимо установить libgnomeAUR; в Xfce — exo. Типичные значения переменной окружения: gnome, kde, xfce, lxde и mate.

Переменная окружения должна быть экспортирована перед запуском оконного менеджера, например:
~/.xinitrc
export DE="xfce"
exec openbox
Это позволит xdg-open использовать более удобный exo-open, так как он будет полагать, что запущен в Xfce. Используйте exo-preferred-applications для настройки.

DESKTOP_SESSION. В среде рабочего стола LXDE, когда у DESKTOP_SESSION установлено значение LXDE, xdg-open будет использовать файловые предпочтения из pcmanfm.

PATH содержит список каталогов, в которых система ищет исполняемые файлы. Когда обычная команда, например, ls, rc-update или emerge, интерпретируется командной оболочкой (такой как bash или zsh), оболочка ищет исполняемый файл с указанным именем в этом списке, и, если находит, запускает файл, передав ему указанные аргументы командной строки. Чтобы запускать исполняемые файлы, пути к которым не находятся в PATH, необходимо указывать полный путь к файлу, например /bin/ls.

Примечание: Из соображений безопасности, не рекомендуется включать текущий каталог () в список , так как это может спровоцировать случайный запуск вредоносного исполняемого файла.

HOME содержит путь к домашнему каталогу текущего пользователя. Эта переменная может использоваться приложениями для определения расположения файлов настроек пользователя, который их запускает.

PWD содержит путь к рабочему каталогу.

OLDPWD содержит путь к предыдущему рабочему каталогу, то есть, значение PWD перед последним вызовом cd.

SHELL содержит имя текущей командной оболочки, например, bash.

TERM содержит имя запущенной программы-терминала, например xterm.

PAGER указывает команду для запуска программы постраничного просмотра содержимого текстовых файлов, например, /bin/less.

EDITOR содержит команду для запуска программы для редактирования текстовых файлов, например /usr/bin/nano. Также можно задать специальную команду, которая будет выбирать редактор в зависимости от окружения, например, gedit в X или nano в терминале, как в этом примере:

export EDITOR="$(if ]; then echo 'gedit'; else echo 'nano'; fi)"

VISUAL позволяет указать имя продвинутого текстового редактора для более сложных задач, например, редактирования почты. Это могут быть vi, vim, emacs и т. д.

MAIL содержит путь к каталогу, где сохраняется входящая почта. Обычно имеет значение /var/spool/mail/$LOGNAME.

BROWSER содержит команду для запуска веб-браузера. Может быть полезно устанавливать это значение в зависимости от наличия графического окружения:

if ; then
    export BROWSER=firefox
else 
    export BROWSER=links
fi

ftp_proxy и http_proxy содержат адреса прокси-серверов для протоколов FTP и HTTP соответственно, например:

ftp_proxy="ftp://192.168.0.1:21"
http_proxy="http://192.168.0.1:80"

MANPATH содержит список каталогов, которые использует man для поиска man-страниц. Стандартным значением является /usr/share/man:/usr/local/share/man.

INFODIR, аналогично MANPATH, содержит список каталогов, в которых команда info производит поиск info-страниц. Стандартным значением является /usr/share/info:/usr/local/share/info.

TZ может использоваться для установки временной зоны. Доступные временные зоны можно найти в /usr/share/zoneinfo/, например TZ=»/usr/share/zoneinfo/Pacific/Fiji».

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

Что это такое?

Переменная среды — это именованный объект, который содержит информацию, используемую одним или несколькими приложениями. Многие пользователи (особенно новички в Linux) находят этот подход несколько странным или неуправляемым. Но это впечатление ошибочно: используя переменные среды, можно очень легко изменить настройку разнообразных программ.

Важные примеры

В следующей таблице описывается ряд переменных, используемых в системе Linux. Примеры их значений приведены далее.

ПеременнаяОписание
PATHВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых система ищет исполняемые файлы. Если вы вводите имя исполняемого файла например ls, rc-update или emerge), который не находится ни в одной из перечисленных здесь каталогов, этот файл не запустится (если, конечно, вы не указали полный путь, например ).
ROOTPATHУ этой переменной такое же значение, что и у PATH, но в ней перечисляются только те каталоги, которые нужно просматривать при вводе команды пользователем с правами root.
LDPATHВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых динамический компоновщик ищет библиотеки.
MANPATHВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых команда man ищет страницы справки.
INFODIRВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых команда info ищет info-страницы.
PAGERВ этой переменной содержится путь к программе, позволяющей постранично просматривать содержимое файлов, например less или more.
EDITORВ этой переменной содержится путь к программе, используемой для изменения файлов, например vi или nano.
KDEDIRSВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых находятся ресурсы KDE.
CLASSPATHВ этой переменной содержится список каталогов, разделенных двоеточиями, в которых находятся классы Java.
CONFIG_PROTECTВ этой переменной содержится список каталогов, защищаемых Portage при обновлении, разделенных пробелами.
CONFIG_PROTECT_MASKВ этой переменной содержится список каталогов, исключаемых из защиты Portage при обновлении, разделенных пробелами.

Ниже представлен пример определения всех этих переменных:

PATH="/bin:/usr/bin:/usr/local/bin:/opt/bin:/usr/games/bin" 
ROOTPATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin" 
LDPATH="/lib:/usr/lib:/usr/local/lib:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.2.3" 
MANPATH="/usr/share/man:/usr/local/share/man" 
INFODIR="/usr/share/info:/usr/local/share/info" 
PAGER="/usr/bin/less" 
EDITOR="/usr/bin/vim" 
KDEDIRS="/usr" 
CLASSPATH="/opt/blackdown-jre-1.4.1/lib/rt.jar:." 
CONFIG_PROTECT="/usr/X11R6/lib/X11/xkb /opt/tomcat/conf \
                /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ \
                /usr/share/texmf/tex/platex/config/ /usr/share/config" 
CONFIG_PROTECT_MASK="/etc/gconf" 

Трудности перевода

Очень часто встречается неправильное понимание слова «среды» в словосочетании «Переменные среды». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.

Таким образом, неправильно говорить, например, «с переменными сре́дами» («с переменными окружениями»), а правильно — «с переменными среды́» («с переменными окружения»).

The %USERPROFILE% environment variable

If you’re not sure what your username is, you can always get to your profile folder using the environment variable %USERPROFILE%.

An environment variable is a special word that contains a value. The %USERPROFILE% variable contains the path of your user profile folder.

Using %USERPROFILE% in File Explorer

In your File Explorer, the location bar shows the name of the folder you’re viewing. It works like an address bar in a web browser. You can type a location on your computer into the location bar, and File Explorer opens that folder.

As shown in the following steps, if you type %USERPROFILE% in the location bar, File Explorer opens your profile folder.

  1. Open a new File Explorer window. You can open it from the Start menu (Windows SystemFile Explorer).Or, press the keyboard shortcut Win+E (hold down the Windows key and press E).
  2. Click in the location bar.
  3. Type %USERPROFILE% and press Enter.

  1. File Explorer opens your user profile folder and displays its contents. The title bar of the window and your location bar both display your full login name.

Using %USERPROFILE% in Command Prompt

If you use the Windows Command Prompt, you can use the cd command with %USERPROFILE% to change the current directory to your profile folder.

  1. Open the Command Prompt. For example, press Win+R to open the run box, then type cmd and press Enter.

  1. Your command prompt displays the current directory, followed by a >.

Tip

By default, when you open a new Command Prompt window, the current directory is your user profile folder.

  1. To change to your profile folder at any time, use the cd command:
cd %USERPROFILE%

  1. You can also use the echo command to display the value of %USERPROFILE%.
echo %USERPROFILE%

To view your username, use echo %USERNAME%.

echo %USERNAME%

Tip

For more information about environment variables, see: What are the default environment variables in Windows?

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации