02_shells_zhirov
This commit is contained in:
parent
bc51c90cc0
commit
406d4b4375
|
@ -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 |
Loading…
Reference in New Issue