Что такое этот $PATH в Linux и как его изменить
У меня есть несколько вопросов по этому $PATH в Linux.
Я знаю, что он сообщает оболочке, какие каталоги искать исполняемые файлы, поэтому:
- что означает переменная окружающей среды?
- как изменить свой путь? и рекомендуется ли его менять?
- если я изменю его, каковы последствия?
3 ответов
чтобы получить текущий путь $PATH
введите переменную:
echo $PATH
он сообщает вашей оболочке, где искать двоичные файлы.
Да, вы можете изменить его, например, добавьте к $PATH
папка с пользовательскими скриптами.
Итак: если ваши скрипты в /usr/local/myscripts
для их выполнения вам придется ввести полный путь к скрипту:/usr/local/myscripts/myscript.sh
После смены $PATH
переменная вы можете просто ввести myscript.sh
выполнить скрипт.
здесь пример $PATH
от RHEL:
в/usr/Kerberos с/ОГРН:/usr/местные/Бен:/ОГРН:/usr/Бен:/главная/пользователя/ОГРН
изменить вашу $PATH
вы должны либо изменить ~/.profile
(или ~/.bash_profile
) для пользователя или глобальной $PATH
настройка в /etc/profile
.
одно из последствий наличия неточных $PATH
переменные-это то, что оболочка не сможет найти и выполнить программы без полного $PATH
.
во-первых, вы правы в своем утверждении о том, что делает $PATH. Если вы должны были как-то сломать его (согласно вашей третьей точке), вам придется вручную ввести /usr/bin/xyz, если вы хотите запустить программу в /usr/bin с терминала. В зависимости от того, как работают отдельные программы, это может нарушить некоторые программы, которые вызывают другие, так как они будут ожидать, что просто смогут запускать ls или что-то еще.
поэтому, если бы Вы играли с $PATH, я бы предложил сохранить его где-нибудь первый. Используйте инструкцию командной строки
echo $PATH > someRandomFile.txt
чтобы сохранить его в someRandomFile.txt
вы можете изменить $PATH с помощью команды export. Так что
export PATH=someNewPath
однако это полностью заменит $PATH на someNewPath. Поскольку элементы в path разделены ":", вы можете добавить к нему элементы (лучше не удалять, см. выше), выполнив
export PATH=$PATH:newPath
тот факт, что это переменная окружающей среды, означает, что программы могут узнать ее значение, т. е. что-то, что установлено в среде, в которой работает программа. Другие переменные среды включают такие вещи, как текущий каталог и адрес текущего прокси-сервера.
это просто, и мне нравится этот способ.
откройте оболочку linux bash и распечатайте переменные среды:
printenv
Я копируем "PATH
" переменная в текстовый редактор и редактировать, как я хочу. Затем обновите PATH
такой
export PATH= /variable dir list/
Это Работает.
или если вы хотите добавить одну переменную, используйте эту команду.
export PATH = $PATH:/variable_dir_path/
это расширит путь с вашим новым путем каталога.