From 406d4b43751e7a75ab8e59c0610cf60852484964 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Thu, 24 Aug 2023 20:49:55 +0300 Subject: [PATCH] 02_shells_zhirov --- stream/02_shells_zhirov/README.md | 28 +++++++++++++++++++++++++ stream/02_shells_zhirov/img/shells.gif | Bin 0 -> 935 bytes 2 files changed, 28 insertions(+) create mode 100644 stream/02_shells_zhirov/README.md create mode 100644 stream/02_shells_zhirov/img/shells.gif diff --git a/stream/02_shells_zhirov/README.md b/stream/02_shells_zhirov/README.md new file mode 100644 index 0000000..8f72e4a --- /dev/null +++ b/stream/02_shells_zhirov/README.md @@ -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) + diff --git a/stream/02_shells_zhirov/img/shells.gif b/stream/02_shells_zhirov/img/shells.gif new file mode 100644 index 0000000000000000000000000000000000000000..e43f82bf0565db2c5a2feb67e4cf48bf18ed35e6 GIT binary patch literal 935 zcmV;Y16ce=Nk%v~VcP(x0Du4h00030|Nkri0002n0H^=}0{)DTsmtvTqnxzbi?iOm z`wxcVNS5Y_rs~SJ?hD8AOxN~}=lag~{tpZahs2`sh)gO=fF@uGjXI;$&5+-Q7k zn5+!Q+?@9eopvW&Jt5s8H_dR}EoqUh4bF|=y>MPBOp*@WZcgsF9v5GZiCr%tewfdV zNQem2HhuH(T?ts`U9N+E`Y2+fkXAQ?0xdm}6S38x{)ZAbVk@}GB1c>v%Wb@L@?XGj zDp$hWREz3MOd||)>gG{UfFf(LVhEAy zMWF=wHB6~>)l*9GTQx5mpf#$|X0FTxedh_K}rc+ZK*V#nu#jcxX zcIj3t+qbg=X=xh?E5g$(gZuRP_Bh7ci;H|g%k*p@p;$*|4ZEYaY_3xwMrW>|8;b)V40IIhNQ1xlB zo=S8e_@E8`(X*9xgCv*%Zo92y6lNB(wi8+=lIPE3WT`mGg)I8u;)^`QD5DNE)`-K6 zIF7huG(GzGV=+MrIV2i77Wu-FNVcHll6g64BXPJunIm{jQYo61SXOD+m0Jqf<(Krq z#0hT|c)8wt;4x#C(hpOrYt3agcYNN5vHER#B z*4iMhHtM=7uQ~eqE3iBYTN$x6-0F!dvb-v*E3>#dTPw7)N*gP+u3F0~wyJ7-Dz~M2 zJ1V%Liu)