Урок 15: Переменные окружения — $PATH, export, .bashrc
Вы выполнили node --version на web-01 и получили 'command not found'. node установлен в /opt/node/bin — но оболочка не знает, что нужно искать там. echo $PATH показывает список каталогов, в которых оболочка ищет команды. export PATH=$PATH:/opt/node/bin добавляет недостающую запись — теперь работает,
$PATH — это список ящиков, которые оболочка открывает, когда ищет команду. export добавляет ящик в список. .bashrc — это записка, которую оболочка читает при каждом запуске — там вы храните постоянные изменения.
- переменная окружения
- Пара name=value, которую оболочка хранит и передаёт запускаемым ею процессам. Примеры: PATH, HOME, USER. Читайте значение через $NAME; отображайте их все с помощью env.
- export
- Помечает переменную как 'переменную окружения' — это означает, что дочерние процессы, запущенные оболочкой, её получат. export VAR=value определяет и экспортирует за один шаг. Без export переменная существует только в текущей оболочке.
- $PATH
- Список каталогов, разделённых двоеточиями, в которых оболочка ищет команды. Когда вы запускаете node, оболочка обходит каждый каталог в PATH в поисках файла с именем node. 'command not found' означает, что он не был найден ни в одном из них.
- ~/.bashrc
- Файл, который оболочка выполняет автоматически при каждом старте интерактивной сессии. Добавляйте сюда строки export, чтобы сохранять переменные постоянными. После правки source ~/.bashrc перезагружает его в текущей сессии.