Ваша система Linux использует переменные окружения для хранения информации, к которой могут обращаться оболочка (shell) и другие процессы. Эти переменные содержат полезные данные о вашей пользовательской сессии и системной конфигурации.
Изучение основных переменных окружения
Вы можете просмотреть значение определенной переменной, добавив перед ее именем символ $. Например, выполните следующую команду:
echo $HOME
Эта команда отобразит путь к вашему домашнему каталогу, который может выглядеть примерно так: /home/pete.
Теперь попробуйте другую:
echo $USER
Это выведет ваше текущее имя пользователя. Но откуда берутся эти сведения? Они хранятся в окружении вашей оболочки.
Что делает команда env в Linux
Чтобы увидеть все переменные окружения, установленные в данный момент для вашей сессии, вы можете использовать команду env. Команда linux env command является фундаментальным инструментом для проверки конфигурации вашей оболочки.
env
Выполнение команды env выведет список пар ключ-значение. Вот краткий пример того, что вы можете увидеть:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin
PWD=/home/user
USER=pete
Понимание linux env имеет решающее значение для эффективного управления вашей системой.
Важность переменной PATH
Одной из самых важных переменных в выводе env linux является PATH. Вы можете просмотреть ее содержимое, используя:
echo $PATH
Эта команда возвращает список каталогов, разделенных двоеточиями. Когда вы вводите команду, ваша система ищет соответствующий исполняемый файл в этих каталогах.
Представьте, что вы вручную установили программу в нестандартный каталог, например /opt/coolapp/bin. Если вы попытаетесь запустить ее, набрав coolcommand, вы можете получить ошибку «command not found» (команда не найдена). Это происходит потому, что каталог, содержащий вашу программу, не указан в переменной PATH, поэтому оболочка не знает, где ее искать.
Чтобы исправить это, вы можете изменить переменную PATH, добавив новый каталог. Добавив свой пользовательский каталог в PATH, вы позволяете оболочке находить и выполнять ваши программы из любого места в терминале.
Установка переменной окружения для текущей сессии
Выполнение следующей команды в терминале устанавливает переменную окружения TEST только для текущей сессии:
export TEST=test
После этого, если вы выполните:
echo $TEST
Вывод будет:
test
Эта переменная будет доступна до тех пор, пока открыта сессия терминала. Как только вы закроете и снова откроете терминал, переменная исчезнет.
Обеспечение постоянства переменной окружения между сессиями
Если вы хотите, чтобы переменная окружения была доступна в каждой сессии терминала (даже после закрытия и повторного открытия терминала), вам необходимо добавить ее в файл запуска вашей оболочки. В случае с Bash (оболочка по умолчанию для многих дистрибутивов Linux и macOS), этот файл обычно называется .bashrc в вашем домашнем каталоге.
Вот как это сделать:
- Откройте
.bashrcв предпочитаемом вами текстовом редакторе. Например:
nano ~/.bashrc
- Добавьте строку
exportв конец файла:
export TEST=test
-
Сохраните и выйдите из редактора (в Nano это будет
Ctrl+X, затемYдля подтверждения иEnter). -
Чтобы немедленно применить изменения, не закрывая терминал, выполните:
source ~/.bashrc
После этого переменная TEST будет доступна во всех будущих сессиях терминала, и выполнение echo $TEST будет выводить test даже после закрытия и повторного открытия терминала.
Примечание о файлах конфигурации оболочки
- Для Bash (по умолчанию во многих системах) соответствующий файл —
~/.bashrcдля неинтерактивных оболочек входа. - Для Zsh эквивалентный файл обычно
~/.zshrc. - Для Fish вы обычно используете
~/.config/fish/config.fish.