Поиск по сайту:

Как составить список переменных среды в Linux


Описание: Чтобы получить список переменных среды в Linux, используйте команду printenv. Это покажет вам все переменные среды, но вы можете получить доступные для поиска результаты, передав их в команду less. В качестве альтернативы используйте grep для проверки определенных переменных среды.

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

Все о переменных среды

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

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

Вы не будете часто менять переменные системной среды, но можете, если вам это нужно. Например, вы можете увеличить размер кэша истории команд оболочки Bash. Вы можете отредактировать значение переменной среды $HISTSIZE в файле «.bashrc», чтобы установить новый верхний предел количества запоминаемых команд.

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

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

Как показать значение переменной среды

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

echo $HOME
echo $USER

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

Команда printenv является официальным способом сделать это. Команда была написана специально для этой цели. Команда env имеет совершенно другое назначение.

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

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

Как вывести список переменных среды с помощью printenv

Команда printenv позволяет отображать переменные среды и очень проста на практике. У него очень мало вариантов. Вы можете использовать параметр --version , чтобы узнать номер выпуска версии на вашем компьютере, и вы можете использовать команду --help, чтобы увидеть краткое описание эти два и еще один параметр командной строки.

Другой вариант — это параметр -0 (нулевой терминатор). Обычно printenv перечисляет переменные среды по одной на строку, добавляя символ новой строки в конец каждой строки. Параметр -0 заменяет этот символ новой строки нулевым байтом. Вы бы использовали эту опцию, если бы вы передавали вывод в другое приложение, которому не нужны символы новой строки.

printenv -0

Параметр -0 в окне терминала приводит к тому, что вывод складывается в непроницаемую стену текста.

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

printenv

Вывод печатается с одной переменной окружения на строку. По соглашению в именах переменных среды всегда используются символы верхнего регистра. Сразу после имени переменной стоит знак равенства «=», за которым следует значение, на которое установлена переменная среды.

Выходных данных по-прежнему много, поэтому вам может быть проще передать переменные среды в less .

printenv | less

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

Если вы что-то знаете об интересующей вас переменной окружения, вы можете использовать grep для поиска вероятных кандидатов. Предположим, вы знаете, что есть переменная окружения, в которой есть слово «отображение». Мы можем искать в списке следующим образом:

printenv | grep DISPLAY

Некоторые общие переменные среды

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

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

  • BASHOPTS: список параметров командной строки, которые использовались при запуске bash.
  • BASH_VERSION: версия bash.
  • СТОЛБЦЫ: ширина терминала в столбцах.
  • DIRSTACK: стек каталогов для использования с командами pushd и popd.
  • HISTFILESIZE: максимальное количество строк истории команд, которые можно записать в файл истории.
  • HISTSIZE: максимальное количество строк истории команд, которое можно хранить в памяти. Если вы превысите это число, ранее запомненные команды будут перезаписаны в памяти. Когда вы закрываете окно терминала, история команд записывается в файл истории.
  • HOME: домашний каталог текущего пользователя.
  • HOSTNAME: имя компьютера.
  • IFS: внутренний разделитель полей, который используется для анализа ввода пользователя. Значение по умолчанию — пробел.
  • ЯЗЫК: текущий язык и настройки локализации, включая кодировку символов.
  • LS_COLORS: определяет коды, используемые для добавления цвета к выходным данным ls.
  • MAIL: путь к почтовому ящику Linux текущего пользователя.
  • OLDPWD: предыдущий рабочий каталог.
  • PS1: основное определение командной строки. Это определяет, как выглядит подсказка в окне терминала.
  • ПУТЬ: разделенный двоеточиями список каталогов, в которых по порядку выполняется поиск соответствующей команды или приложения при вводе команды в оболочку.
  • PWD: текущий рабочий каталог.
  • SHELL: имя вашей оболочки по умолчанию.
  • TERM: тип терминала, который эмулируется при запуске оболочки.
  • UID: идентификатор текущего пользователя.
  • ПОЛЬЗОВАТЕЛЬ: текущий пользователь.
  • _: самая последняя выполненная команда. Если вы используете printenv для этого списка, это всегда будет printenv.

Экологические инспекции

Чтобы вывести список всех переменных среды, используйте printenv. Направьте вывод через grep для фильтрации результатов и используйте echo для вывода значения определенной известной переменной среды.

RELATED: Best Linux Laptops for Developers and Enthusiasts