Как добавить переменные 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
может выполнять общесистемную работу для всех пользователей.