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

Linux как на ладони! Узнай всё о системных и пользовательских переменных окружения, временных и постоянных настройках. Настрой Linux под себя!

В Linux переменные окружения предоставляют информацию о системе и пользователе. Они влияют на поведение приложений и команд.

Типы переменных окружения

  • Системные: Доступны всем пользователям‚ задаются в /etc/environment.
  • Пользовательские: Задаются для конкретного пользователя в .bashrc или .profile.
  • Временные: Действуют только в текущей сессии терминала.
  • Постоянные: Сохраняются между сессиями.

Способы задания переменных

1. Команда export

Для временных переменных:

export MY_VAR="значение"

2. Файлы конфигурации

Для постоянных переменных:

  • .bashrc: Для Bash shell.
  • .profile: Для login shell.
  • /etc/environment: Для системных переменных.

Пример в .bashrc:

MY_VAR="значение"
export MY_VAR

После изменения файлов‚ выполните source .bashrc.

Просмотр переменных

Используйте echo $MY_VAR или env для просмотра всех переменных.

Примеры

PATHHOMEUSER ‒ важные переменные окружения.

Более подробно о способах задания переменных окружения в Linux

Как уже упоминалось‚ существует несколько способов задать‚ установить или изменить переменные окружения в Linux. Выбор зависит от того‚ насколько долго вы хотите‚ чтобы переменная действовала – временно (только для текущей сессии терминала) или постоянно (между перезагрузками).

export команда (временные переменные)

Команда export делает переменную доступной для текущего shell и всех дочерних процессов. Это самый простой способ задать временную переменную:

export MY_VARIABLE="значение"

После закрытия терминала или выхода из shell‚ эта переменная будет удалена. Это полезно для одноразовых задач или тестирования.

Файлы конфигурации (постоянные переменные)

Для постоянных переменных‚ необходимо изменить файлы конфигурации. Выбор файла зависит от того‚ для какого пользователя вы хотите задать переменную – для конкретного пользователя или для всей системы. как задать переменную окружения в linux

  • .bashrc: Этот файл выполняется каждый раз‚ когда открывается новый интерактивный bash shell. Идеально подходит для пользовательских переменных‚ которые должны быть доступны только в bash.
  • .profile: Этот файл выполняется только при входе в систему (login shell). Рекомендуется для пользовательских переменных‚ которые должны быть доступны во всех shell. Если вы используете bash‚ .profile часто вызывает .bashrc.
  • /etc/environment: Этот файл устанавливает системные переменные для всей системы. Требует прав администратора (sudo). Переменные‚ заданные здесь‚ доступны всем пользователям и всем процессам.

Пример добавления переменной в .bashrc:

echo 'MY_VARIABLE="значение"' >> ~/.bashrc
echo 'export MY_VARIABLE' >> ~/.bashrc

После редактирования файла конфигурации‚ необходимо обновить текущий shell‚ чтобы изменения вступили в силу. Это можно сделать с помощью команды source:

source ~/.bashrc

Или‚ для /etc/environment‚ необходимо перезагрузить систему или выйти и снова войти в систему.

Использование set

Команда set используется для установки и отображения shell переменных‚ но она не экспортирует их в окружение дочерних процессов. Обычно set используется для локальных переменных в shell script.

set MY_LOCAL_VAR="значение"

Эта переменная будет доступна только в текущем shell и не будет видна дочерним процессам‚ если ее не экспортировать с помощью export.

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

Существует несколько способов посмотреть список переменных окружения в Linux:

  • printenv: Похожа на env‚ выводит список всех переменных окружения.

Примеры:

echo $PATH
echo $HOME
echo $USER
env | grep MY_VARIABLE

Удаление переменной окружения

Чтобы удалить переменную окружения‚ используйте команду unset:

unset MY_VARIABLE

Это удалит временную переменную из текущей сессии. Чтобы удалить постоянную переменную‚ необходимо удалить ее из файла конфигурации (.bashrc.profile/etc/environment) и перезагрузить shell или систему.

Важные переменные окружения

  • $PATH: Список каталогов‚ в которых система ищет исполняемые файлы.
  • $HOME: Домашний каталог текущего пользователя.
  • $USER: Имя текущего пользователя.
  • $SHELL: Путь к текущему shell.
  • $TERM: Тип терминала.

Shell Script переменные

В shell script‚ вы можете использовать переменные окружения‚ а также создавать свои собственные локальные переменные. Локальные переменные видны только внутри shell script.

#!/bin/bash

MY_SCRIPT_VAR="значение"

echo "Значение локальной переменной: $MY_SCRIPT_VAR"
echo "Значение переменной HOME: $HOME"

export MY_EXPORTED_VAR="значение" # Экспортируем переменную для дочерних процессов

./another_script.sh # another_script.sh сможет увидеть MY_EXPORTED_VAR‚ но не MY_SCRIPT_VAR

Понимание того‚ как задать и управлять переменными окружения в Linux‚ является важным навыком для любого Linux пользователя или системного администратора. Правильное использование переменных окружения позволяет настраивать систему‚ автоматизировать задачи и управлять поведением приложений. Надеюсь‚ этот linux tutorial‚ linux howto и linux guide поможет вам освоить эту важную тему.

Для получения дополнительной информации‚ обратитесь к linux documentation‚ linux tips‚ linux tricks и linux examples.

Этот текст содержит примеры linux commands и охватывает темы linux shell‚ linux terminal‚ bash‚ shell‚ terminal‚ команда‚ скрипт‚ конфигурация‚ настройка‚ переменная окружения‚ пользователь‚ система‚ shell script‚ командная строка‚ системные переменные‚ пользовательские переменные‚ временные переменные‚ постоянные переменные‚ задать переменную‚ установить переменную‚ изменить переменную‚ удалить переменную‚ посмотреть переменную‚ список переменных окружения‚ echo команда‚ переменная PATH‚ переменная HOME‚ переменная USER‚ linux environment variables‚ bash environment variables‚ command line environment variables‚ system environment variables‚ user environment variables‚ temporary environment variables‚ permanent environment variables‚ set environment variable‚ change environment variable‚ delete environment variable‚ view environment variable‚ list environment variables‚ echo command.

Рейтинг
( Пока оценок нет )
Andrey/ автор статьи