Переменные окружения

Перейдите к следующему слайду, нажав кнопку Вправо

Переменные окружения в терминалах Linux и Mac

Подготовлено онлайн-курсом

https://dvmn.org

devman:~$ echo $var1

devman:~$ var1=qwerty

devman:~$ echo $var1
qwerty

VARIABLE=TEXT

Создание переменной окружения

devman:~$ echo $var1
qwerty

devman:~$ echo В переменной var1 лежит $var1
В переменной var1 лежит qwerty

$VARIABLE

Вывод переменных окружения

devman:~$ echo $var1 выведется только при правильном регистре
qwerty выведется только при правильном регистре

devman:~$ echo $VAR1 не выведется, если не соблюдать регистр
не выведется, если не соблюдать регистр

Регистр

Вывод переменных окружения

devman:~$ echo "$var1 выведется с двойными кавычками"
qwerty выведется с двойными кавычками

devman:~$ echo '$var1 выведется не так в одиночных'
$var1 выведется не так в одиночных

Кавычки

Вывод переменных окружения

devman:~$ env
S_COLORS=auto
LC_NAME=ru_RU.UTF-8
XDG_SESSION_ID=3
USER=devman
DESKTOP_SESSION=ubuntu
var1=qwerty

env

Вывод всех переменных окружения

devman:~$ var1=qwerty1

devman:~$ var2=qwerty2

devman:~$ export var2

devman:~$ toy-wsgi
Переменная var1 не обнаружена
Переменная var2 равна qwerty2

export

Передача переменных окружения в другие оболочки

Также экспортировать переменные необходимо,
например, если вы хотите их использовать в
каком-нибудь приложении.

Скажем, в рассылке почты?
devman:~$ prefix=Super

devman:~$ echo Привет $prefixman и $prefixgirl
Привет  и

devman:~$ echo Привет ${prefix}man и ${prefix}girl
Привет Superman и Supergirl

${variable}

Разграничение переменных

devman:/home$ ls
toy-wsgi

devman:/home$ toy-wsgi
toy-wsgi: command not found

devman:/home$ export PATH=$PATH:/home

devman:/home$ toy-wsgi
toy-wsgi запущен!

$PATH

Перменная окружения PATH

Для создания команды и её использования
по всей системе путь к ней нужно 
положить в $PATH, чтобы операционная
система знала, где брать исходные файлы.

команды whereis и which ищут исходники
именно в $PATH

Создано для онлайн-курса https://dvmn.org