Переменные окружения являются важным механизмом в операционных системах, позволяющим настраивать поведение программ и процессов. В Linux переменные окружения используются для хранения различных типов информации, таких как пути к исполняемым файлам, настройки локализации и параметры работы программ. В этой статье рассмотрим, как просматривать, задавать и управлять переменными окружения в Linux.

 

1. Просмотр переменных окружения

Для просмотра всех переменных окружения, доступных в текущей сессии, используется команда env. Просто введите:

env

Результат будет представлен в виде списка переменных и их значений:

USER=username
HOME=/home/username
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
LANG=en_US.UTF-8

Каждая строка представляет собой пару «переменная-значение». Например, переменная USER хранит имя текущего пользователя, а PATH содержит список каталогов, в которых система ищет исполняемые файлы.

2. Установка переменных окружения

Задание переменной для текущего сеанса (команда set)

Для задания переменной окружения только для текущего сеанса используется команда set:

set MY_VAR="Hello, World!"

Теперь переменная MY_VAR доступна в текущем сеансе. Её значение можно проверить с помощью команды echo:

echo $MY_VAR

Результат:

Hello, World!

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

Установка переменной для текущего и дочерних процессов (команда export)

Чтобы переменная была доступна не только в текущем сеансе, но и во всех дочерних процессах, используется команда export:

export MY_VAR="Hello, World!"

Теперь переменная MY_VAR будет доступна в текущем сеансе и во всех процессах, запущенных из этого сеанса. Например, если запустить скрипт, он сможет использовать эту переменную.

Постоянная установка переменной (файл /etc/profile)

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

Откройте файл в текстовом редакторе (например, nano или vim):

sudo nano /etc/profile

Добавьте строку с экспортом переменной:

export MY_VAR="Hello, World!"

Сохраните файл и выйдите из редактора. Чтобы изменения вступили в силу, выполните:

source /etc/profile

Теперь переменная MY_VAR будет доступна для всех пользователей и процессов.

 

3. Просмотр переменных окружения текущего процесса

Команда set

Команда set без аргументов выводит не только переменные окружения, но и другие параметры текущего сеанса, такие как функции и псевдонимы. Чтобы увидеть только переменные окружения, используйте команду env.

Просмотр переменных окружения другого процесса (файл /proc/<pid>/environ)

Каждый процесс в Linux имеет уникальный идентификатор (PID). Переменные окружения, используемые процессом, хранятся в файле /proc/<pid>/environ, где <pid> — идентификатор процесса.

Например, чтобы посмотреть переменные окружения процесса с PID 1234, выполните:

cat /proc/1234/environ

Результат будет представлен в виде строки, где переменные разделены нулевыми символами. Чтобы сделать вывод более читаемым, используйте команду tr:

cat /proc/1234/environ | tr '\0' '\n'

Пример результата:

USER=username
HOME=/home/username
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

4. Примеры использования

Пример 1: Установка переменной PATH

Допустим, вы хотите добавить каталог /opt/myapp/bin в переменную PATH, чтобы система могла находить исполняемые файлы в этой директории. Выполните:

export PATH=$PATH:/opt/myapp/bin

Теперь команды из каталога /opt/myapp/bin будут доступны в текущем сеансе.

 

Пример 2: Использование переменной в скрипте

Создайте скрипт test.sh:

#!/bin/bash
echo "MY_VAR is set to: $MY_VAR"

Сделайте его исполняемым:

chmod +x test.sh

Задайте переменную MY_VAR и запустите скрипт:

export MY_VAR="Hello, World!"
./test.sh

Результат:

MY_VAR is set to: Hello, World!

Пример 3: Просмотр переменных окружения процесса

Найдите PID процесса (например, bash) с помощью команды ps:

ps aux | grep bash

Предположим, PID равен 5678. Просмотрите переменные окружения:

cat /proc/5678/environ | tr '\0' '\n'

Заключение

Переменные окружения — это инструмент для настройки и управления процессами в Linux. Вы можете просматривать их с помощью команды env, задавать для текущего сеанса с помощью set, экспортировать для дочерних процессов с помощью export и настраивать глобально через файл /etc/profile. Также можно просматривать переменные окружения любого процесса через файл /proc/<pid>/environ.

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

От root

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *