02_shells_zhirov

This commit is contained in:
Alexander Zhirov 2023-08-24 20:49:55 +03:00
parent bc51c90cc0
commit 406d4b4375
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,28 @@
# Интерпретаторы терминала
**Окружение** — это область, которую оболочка создает каждый раз при запуске сеанса, где содержатся переменные, определяющие свойства системы.
- Окружение представляет собой набор переменных, к которым имеют доступ все исполняемые команды.
- Окружение предоставляет среду, через которую процесс оболочки может получать или задавать настройки и, в свою очередь, передавать эти настройки его дочерним процессам.
Переменные окружения — это переменные, определяемые для текущей оболочки и наследуемые любыми дочерними оболочками или процессами. Переменные окружения используются для передачи информации процессам, которые запущены в оболочке.
**Оболочка** (*интерпретатор командной строки* или *shell*) - программа, которая принимает команды от пользователя и исполняет их. Кроме этого, оболочка позволяет экспортировать (`export`) переменные во (внешнее) окружение (`environment`).
![shells](img/shells.gif)
## Работа с окружением
`set` в Linux - это установка переменных окружения (environment variables), которые определяют поведение работы системы или программы. Они используются для хранения информации, такой как пути к файлам, настройки программ, язык интерфейса и другие параметры.
Например, переменная окружения `PATH` указывает системе, где искать исполняемые файлы программ. Переменные окружения могут быть установлены глобально (для всех пользователей) или только для текущей сессии.
`env` (environment) в Linux - это команда, которая выполняет указанную программу, устанавливая значения переменных окружения перед ее запуском.
Различие между `set` и `env` заключается в том, что `set` устанавливает переменные окружения только в текущей сессии или в скриптах, в которых была выполнена команда, в то время как `env` устанавливает переменные окружения для запускаемой программы и ее дочерних процессов. Это означает, что переменные окружения, установленные с помощью `env`, будут доступны всему дереву процессов, порожденных запущенной программой.
## Ссылки
- [Считывание и настройка переменных оболочки и окружения в Linux](https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-linux-ru)
- [Переменные оболочки и окружение](https://unix1.jinr.ru/oss/linux/lig/node274.html)

Binary file not shown.

After

Width:  |  Height:  |  Size: 935 B