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

Оболочкой (shell) называется программа, которая является неким окружением для взаимодействия между пользователем и операционной системой через терминал.
Она интерпретирует команды, введённые в терминале, и передаёт их операционной системе для выполнения.
Чаще всего в качестве оболочки в Linux используется Bash.

Каждому пользователю в системе предоставляется оболочка по умолчанию. Её конфигурацию можно менять индивидуально.

Оболочка содержит локальные переменные, которые пользователь может задать сам.

Для начала нужно сказать, что переменная в любом смысле — это имя, под которым хранится какое-либо значение, которое может быть использовано для различных задач.
Например, скажем, что условная переменная x хранит значение 100500.
Или такая же условная переменная NAME хранит значение nikita.

Переменные оболочки (shell variables) в Linux — это такие переменные, которые хранят значения относительно текущего сеанса терминала.
Чтобы создать локальную переменную, откройте терминал и введите (без пробелов):
COUNTRY=RUSSIA

Теперь переменная COUNTRY будет доступна в текущей сессии и мы сможем её использовать для различных целей.
Например, мы можем вывести её значение на экран: echo $COUNTRY

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

Существуют также переменные окружения (environment variables) — это переменные, которые используются для конфигурации среды, в которой работают процессы.
Эти переменные содержат важную информацию, которая может быть использована программами и скриптами для настройки их работы.

Основные переменные окружения

Посмотреть весь список можно с помощью команды env.

Когда мы используем команду cd без аргументов, мы попадаем в свою домашнюю директорию. Это намного удобнее, чем вводить cd /home/my_user.
Узнаёт путь к домашней директории она как раз благодаря имеющейся в системе переменной HOME.

Если нам необходимо добавить новую переменную окружения в систему, то используем команду:
export NUMBER=12345 — добавляем переменную с именем NUMBER, которая хранит значение 12345.

Различия:

Переменные оболочки:

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


Задачи:

  1. Поменяйте переменную окружения HOME относительно текущей сессии, установив ей значение /tmp.
    После этого проверьте, куда перемещает команда cd без аргументов.
    Перезапустите терминал и проверьте снова.
  2. Создайте переменную оболочки, хранящую значение пути к файлу с логами авторизации.
    Выполните команду просмотра содержимого этого файла, указав в качестве пути созданную переменную.
  3. Установите python3 с помощью команды sudo apt install python3 и запустите интерпретатор, введя python3.
    После этого мы увидим в консоли >>>.
    Выйдем оттуда, нажав CTRL + D.
    Теперь определите, как система понимает, какую программу нужно запустить, если мы просто пишем python3, не указывая никакие пути.
    Попробуйте запустить этот интерпретатор, введя полный путь к нему.