Как добавить каталог в системный путь в Linux

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

/ USR / местные / бен: / USR / бен: / бен: / USR / местные / игры: / USR / игры

Когда вы вводите команду, такую ​​как cat, в командной строке, ваша оболочка будет искать в каждом из этих каталогов исполняемый файл с именем cat. Первый, который он находит, тот, который он запускает.

Чтобы просмотреть текущее значение переменной среды PATH, вы можете использовать команду echo. Как и для всех переменных в оболочке, при обращении к значению необходимо поставить знак доллара перед именем переменной:

echo $ PATH

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

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

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

PATH = / мой / первый / путь: мой / второй / путь

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

PATH = $ PATH: / мой / новый / путь

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

PATH = / мой / новый / путь: $ PATH

Ваш новый путь будет найден до, а не после системных путей по умолчанию.

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

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

экспортный путь

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

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

PATH = $ PATH: / my / new / path: / my / other / new / path; экспортировать PATH

Чаевые

Если у любого из ваших путей есть пробелы, вы должны заключить определение переменной в кавычки, чтобы быть в безопасности:

PATH = "$ PATH: / ставить / пробелы в путевых именах: / делает / жизнь очень / неудобной"; экспортировать PATH

Установка переменной PATH для каждого нового сеанса оболочки

Методы, которые мы использовали до сих пор, только устанавливают переменную среды для текущего сеанса оболочки; когда вы выйдете из системы или закроете окно терминала, ваши изменения будут забыты. Если вы хотите установить PATH на определенное значение каждый раз, когда вы входите в систему или запускаете новый сеанс оболочки, вы должны добавить его в свой скрипт запуска bash. Каждый раз, когда вы запускаете сеанс интерактивной оболочки, bash читает по порядку следующие файлы (если они существуют) и выполняет команды внутри них:

/ И т.д. / профиль
~ / .Bash_profile
~ / .Bash_login
~ / .Profile

Первый файл / etc / profile является сценарием запуска по умолчанию для каждого пользователя в системе. Один или несколько из трех оставшихся файлов находятся в домашнем каталоге каждого пользователя. Любой из этих трех может быть использован, но важно знать, что они будут искать в этом порядке.

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

Если все, что вы хотите сделать, это добавить путь для текущего пользователя, вы можете оставить другие строки PATH = нетронутыми и добавить такую ​​строку в конец файла:

PATH = "$ PATH: / new / path"; экспорт PATH

Если вы добавите это в конец файла .bash_profile в вашем домашнем каталоге, он вступит в силу каждый раз, когда ваш пользователь запускает новый сеанс оболочки. Если вы добавите это в / etc / profile, это вступит в силу для каждого пользователя в системе. Обратите внимание, что вам нужны права администратора, если вы хотите редактировать / etc / profile, поэтому вы можете использовать sudo (или войти в систему как root) для этого.

Ссылка на основную публикацию
Adblock
detector