Linux: как добавить каталоги в $PATH

Что такое $PATH?
$PATH — это переменное окружение в котором хранятся все исполняемые файлы. Значение переменной $PATH является обычным строкой, стрижешь ряд имен. Например, $PATH по умолчанию для типичной системы может выглядеть так:

/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/snap/bin

Чтобы посмотреть текущее значение переменной $PATH Вы можете использовать команду echo.

[cc lang=»bash»] echo $PATH [/cc]

Приведенном выше примере текущее значение пути возвращает вас в командную строку.

Установка PATH для текущей сеанса оболочки.

Вы можете установить значение PATH, как и любую другую переменную оболочки, с формой NAME = VALUE , например:

[cc lang=»bash»] PATH=/opt [/cc]

Проблема с этой командой заключается в том, что она полностью перезапишет ранее сохраненные вами значения, которые вам, вероятно, не нужны. Если вы хотите добавить новое значение в дополнение к старым. Вы можете выполнить это, обратившись к $PATH в новом определении, например:

[cc lang=»bash»] PATH=$PATH:/opt [/cc]

Используя приведенную выше команду добавляет новый путь к текущему значению $PATH. Если вместо этого вы набрали:

[cc lang=»bash»] PATH=/opt:$PATH [/cc]

Ваш новый путь будет добавлен в начале переменной. Но тип определения $PATH будет устанавливать переменную среды для текущего сеанса оболочки.  И значение переменной которые вывели, после перезагрузки системы исчезли

Использование экспорта для передачи переменной среды PATH дочерним процессам.

Для того чтобы сохранить переменную $PATH нужно использовать команду:

[cc lang=»bash»] export PATH [/cc]

 

Любые процессы, которые вы запускаете до выхода из системы, будут использовать текущее значение $PATH.

Если вы предпочитаете, вы можете объединить эти две команды в одну строку для удобства. Просто поставьте точку с запятой между ними, чтобы оболочка знала, что это отдельные команды:

[cc lang=»bash»] PATH=$PATH:/opt; export PATH [/cc]

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

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