Окружение
Когда программа вызывается, ей передаётся массив строк, называемый окружением. Это список пар имя-значение, в форме name=value.
Bash предоставляет несколько способов манипулировать окружением. При вызове оболочка сканирует своё собственное окружение и создаёт параметр для каждого найденного имени, автоматически помечая его для export дочерним процессам. Выполняемые команды наследуют окружение. Команды export и ‘declare -x’ позволяют добавлять и удалять параметры и функции из окружения. Если значение параметра в окружении изменяется, новое значение становится частью окружения, заменяя старое. Окружение, унаследованное любой выполняемой командой, состоит из начального окружения оболочки, значения которого могут быть изменены в оболочке, за исключением пар, удалённых командами unset и ‘export -n’, плюс любые добавления через команды export и ‘declare -x’.
Окружение любой простой команды или функции может быть временно дополнено путём добавления префиксов присваивания параметров, как описано в Параметрах оболочки. Эти операторы присваивания влияют только на окружение, видимое этой командой.
Если опция -k установлена (см. Встроенную команду Set), то все присваивания параметров помещаются в окружение команды, а не только те, что предшествуют имени команды.
Когда Bash вызывает внешнюю команду, переменная ‘$_’ устанавливается на полный путь к команде и передаётся этой команде в её окружении.
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
Licensed under the GNU Free Documentation License.
https://www.gnu.org/software/bash/manual/html_node/Environment.html