env - env

редактировать
env
Операционная система Unix, Unix-like, Inferno
Тип Команда
Лицензия coreutils : GPLv3+

env- это команда shell для Unix и Unix-подобные операционные системы. Он используется либо для печати списка переменных среды, либо для запуска другой утилиты в измененной среде без необходимости изменения существующей в настоящее время среды. Используя env, переменные могут быть добавлены или удалены, а существующие переменные могут быть изменены путем присвоения им новых значений.

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

Содержание
  • 1 История
  • 2 Примеры
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
История

Версия envвходящий в состав GNU coreutils, был написан Ричардом Млинариком, Дэвидом Маккензи и Ассафом Гордоном. Впервые он появился в 4.4BSD и является частью POSIX.1 (только с параметром -i).

GNU env был расширен для обработки сигналов и текущего env FreeBSD поддерживает настраиваемый путь поиска. В обеих версиях есть расширения: -u для отмены установки переменных и -S для разделения аргументов (в основном в shebang).

Примеры

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

env

Чтобы очистить среду (создать новую среду без каких-либо существующих переменных среды) для новой оболочки:

env -i / bin / sh

Чтобы запустить приложение X xcalc и отобразить его на другом дисплее:

env DISPLAY = foo.bar: 1.0 xcalc

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

DISPLAY = foo.bar: 1.0 xcalc

env также может использоваться в строке hashbang скрипта, чтобы разрешить интерпретатор для поиска через PATH. Например, вот код очень простого скрипта Python :

#! / Usr / bin / env python3 print ("Hello, World!")

В этом примере / usr / bin / env- это полный путь команды env. Окружающая среда не изменена.

Обратите внимание, что можно указать интерпретатор без использования env, указав полный путь к интерпретатору python. Проблема с этим подходом заключается в том, что в разных компьютерных системах точный путь может отличаться. Вместо использования env, как в примере, интерпретатор ищется и располагается во время запуска скрипта (точнее, envвыполняет системный вызов execvp, который определяет местонахождение интерпретатора и запускает его). Это делает сценарий более переносимым, но также увеличивает риск выбора неправильного интерпретатора, поскольку он ищет совпадения в каждом каталоге на пути поиска исполняемых файлов. Он также страдает той же проблемой, поскольку путь к двоичному файлу envтакже может отличаться для каждой машины.

См. Также
  • значок Портал Linux
Ссылки
Внешние ссылки
В Wikibook Руководство по Unix есть страница по теме : Commands
Последняя правка сделана 2021-05-19 11:39:32
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте