Поиск по сайту:

Как добавить переменные PATH в Ubuntu 24.04

В этом руководстве показано, как настроить переменные среды PATH. Хотя в заголовке указано для Ubuntu 24.04, он работает в большинстве систем Linux.

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

Например, введите firefox в командной строке, чтобы запустить /usr/bin/firefox для запуска веб-браузера Firefox в Ubuntu, Fedora и других Linux, которые используют браузер по умолчанию.

Обычные пакеты Linux (например, .deb, .rpm) в большинстве случаев автоматически устанавливают свои исполняемые файлы в PATH. Для портативного пакета Linux и других пакетов пользователь может вручную добавить папки приложений, содержащие исполняемые файлы, в PATH.

Проверьте текущие переменные PATH

Большинство Linux по умолчанию включает /usr/bin, /usr/local/bin, /usr/sbin, /usr/local /sbin, /usr/games, /usr/local/games в PATH. Хотя сторонние приложения могут добавить больше.

Чтобы указать текущие переменные PATH, откройте терминал (Ctrl+Alt+T) и выполните команду:

echo $PATH

Он напечатает все каталоги PATH, разделенные двоеточием (:).

Вариант 1. Добавьте папку/каталог в PATH для временного использования.

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

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

export PATH="/PATH/TO/CUSTOM/FOLDER:$PATH"

или :

export PATH="$PATH:/PATH/TO/CUSTOM/FOLDER"

Например, я загрузил архив SweetHome3D и распаковал его в подпапку «MyApps» дома пользователя. Чтобы добавить его в PATH, только для текущего терминала, используйте команду:

export PATH="/home/ji/MyApps/SweetHome3D-7.5:$PATH"

Он добавил эту папку в начало PATH.

По выбору команда ниже добавит его в конец.

export PATH="$PATH:/home/ji/MyApps/SweetHome3D-7.5

ПРИМЕЧАНИЕ. При запуске команды она просматривает каталоги путей от начала до конца. Будет запущен первый подходящий вариант.

Вариант 2. Добавьте переменные PATH только для текущих пользователей.

Только для текущего пользователя: просто отредактируйте один из следующих файлов для добавления переменных PATH:

  • .bash_profile – обычно используется в Fedora, Manjaro Linux.
  • .bash_login
  • .profile – обычно используется в Debian, Ubuntu Linux.

Если в вашей системе их несколько, отредактируйте .bash_profile, если он существует, или .bash_login и используйте .profile только тогда, когда предыдущие 2 не существуют. Все три обычно указывают на запуск .bashrc, поэтому редактирование .bashrc также работает.

В Debian/Ubuntu просто откройте домашнюю папку, нажмите Ctrl+H, чтобы показать/скрыть скрытые файлы, и нажмите «Изменить файл .profile».

Когда файл откроется, вы увидите что-то вроде этого:

if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

Он предлагает добавить папку bin, если она существует в доме пользователя, в PATH. Также есть раздел для добавления .local/bin в PATH, если он существует.

Вы можете добавить пользовательскую папку в PATH пользователя, добавив аналогичные строки. Например, используйте строки ниже, чтобы добавить SweetHome3D v7.5 в подпапку MyApps:

if [ -d "$HOME/MyApps/SweetHome3D-7.5" ] ; then
    PATH="$HOME/MyApps/SweetHome3D-7.5:$PATH"
fi

Или вместо этого добавьте строку ниже, чтобы добавлять эту папку в PATH независимо от того, существует она или нет.

export PATH="$HOME/MyApps/SweetHome3D-7.5:$PATH"

Чтобы применить изменение, вам необходимо выйти из системы и снова войти в нее. Однако это НЕ работает для оболочки без входа в систему, например, команда su user_name.

Вариант 2. Добавьте переменные PATH для всей системы для всех пользователей.

Системы на базе Debian и Ubuntu используют файл /etc/environment для указания исходных общесистемных переменных PATH. Однако НЕ рекомендуется редактировать файл напрямую.

Вместо этого файлы /etc/profile или .sh в каталоге /etc/profile.d/ являются правильным местом для добавления общесистемных переменных PATH. .

Например, отредактируйте /etc/profile, выполнив команду:

sudo gnome-text-editor /etc/profile

Замените gnome-text-editor в соответствии со средой вашего рабочего стола или используйте nano, который работает в большинстве Linux. Когда файл откроется, добавьте в конец новую строку:

export PATH="/usr/lib/myapps/bin:$PATH"

После сохранения файла (для nano нажмите Ctrl+S, чтобы сохранить, затем Ctrl+X, чтобы выйти), /usr/lib/myapps/bin в этом случае будет добавлен в PATH при следующем входе в систему.

Чтобы сохранить /etc/profile в чистоте, лучше создать собственный файл .sh в /etc/profile.d > вместо этого.

Например, выполните команду ниже, чтобы создать файл custom_path_global.sh и отредактировать его:

sudo gnome-text-editor /etc/profile.d/custom_path_global.sh

Затем добавьте строки ниже, которые сделают ту же работу, если каталог существует. И он будет применен при следующем входе в систему:

# Add custom PATH variables work for all users
if [ -d "/usr/lib/myapps/bin" ] ; then
    PATH="/usr/lib/myapps/bin:$PATH"
fi

Краткое содержание

В этом уроке я научил, как добавлять пользовательскую папку или каталог в переменные PATH в Ubuntu Linux.

Короче говоря, пользователь может запустить export PATH="/PATH/TO/CUSTOM/FOLDER:` PATH", чтобы добавить пользовательскую папку в PATH, которая работает только в текущем терминале.

Или отредактируйте .profile для Debian/Ubuntu или .bash_profile для Fedora и добавьте аналогичную строку, которая будет работать при следующем входе в систему только для текущего пользователя. В то время как редактирование /etc/profile или создание файла .sh в /etc/profile.d может выполнять общесистемную работу для всех пользователей.

Статьи по данной тематике