Что такое переменная среды PATH и как мне к ней добавить?


59

Я только что установил picc-9.82.9453-linux.runс сайта Microchip, и в конце он спросил меня

==> NOTE: You may wish to add the following  
   /usr/hitech/picc/9.82/bin  
   to your PATH environment variable.  

Что это значит?

Мне также нужно добавить это в путь к среде:

/usr/hitech/picc-18/pro/9.66/bin  

1
PATH - это глобальная переменная операционной системы, которая содержит имена файлов, которые должны быть выполнены без указания всего пути к ним. Например, вы можете просто написать, startxчтобы начать графический environemnt вместо/bin/some other folders/startx
Misery

После редактирования .profile перезагрузите систему, чтобы изменения вступили в силу. (Возможно, есть способ обойти это, но перезапуск, безусловно, работает)
thn

1
Запустите . ~/.profileизменения, чтобы изменения вступили в силу
beam022

Ответы:


82

Частичный дубликат: Как добавить каталог в PATH?

PATH является переменной окружения. Он в основном говорит вашей машине, где искать программы, поэтому, когда вы запускаете программу picc, вы можете просто сделать это:

picc

вместо

/usr/hitech/picc/9.82/bin/picc

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

Способ 1

Редактировать ~/.profile:

gedit ~/.profile

найдите следующую строку:

PATH="$HOME/bin:$PATH"

и измените его на:

PATH="$HOME/bin:$PATH:/usr/hitech/picc/9.82/bin"

Способ 2

Запустите команду ниже в терминале:

export PATH=$PATH:/usr/hitech/picc/9.82/bin

1
Я не совсем понимаю, что я редактировал, /etc/profile но ссылка в вашем ответе говорит что-то вроде этого, if [ -d "$HOME/bin" ] ; then PATH="$PATH:$HOME/bin" fi что с этим делать?
тыс

1
Вот и ты. Я обновил ответ.
reverendj1

что делать, если мне нужно добавить более 1 пути?
тыс

7
Просто продолжайте добавлять двоеточие, а затем ваш новый путь к этой строке. то естьPATH="$HOME/bin:$PATH:/usr/hitech/picc/9.82/bin:/my/new/path"
reverendj1

Что делать, если там нет ~/.profileфайла?
Фибо Ковальский

14

Переменные среды оболочки используются для нескольких целей: от хранения данных, хранения конфигураций программного обеспечения, установки настроек терминала и до изменения среды оболочки. Переменные среды обычно устанавливаются во время загрузки или другим программным обеспечением, как требуется. Один из способов установки переменных среды - из командной строки.

Перечислите все переменные на терминале

env

это напечатает все переменные, которые у вас есть

Показывать одну переменную за раз

Количество этих переменных может стать очень длинным списком, и поиск одной конкретной переменной может стать сложной задачей. К счастью, Linux позволяет отображать значение одной переменной оболочки, используя echoкоманду вместе с именем переменной. Это делает задачу очень простой. пример:echo "$HOME"

Добавить или изменить переменную

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

export NameofVariable='value'

Обратите внимание, однако, что это будет работать только для текущего сеанса оболочки. Это не будет доступно ни в каких других терминалах.


2
Привет, отличный первый ответ! О, и добро пожаловать в Ask Ubuntu!
Grooveplex

1
vi(m) ~/.profile
PATH="$HOME/bin:$HOME/.local/bin:{whatever_path_you_need_to_add}:$PATH"

Если у вас нет файла .profile ... он также создаст его:

В этом сценарии добавьте также

if [ -n "$BASH_VERSION" ]; then
   # include .bashrc if it exists
   if [ -f "$HOME/.bashrc" ]; then
      . "$HOME/.bashrc"
   fi
fi

# set PATH so it includes user's private bin directories

PATH="$HOME/bin:$HOME/.local/bin:/usr/bin:$PATH"

1

Добавьте переменную окружения ~/.bashrcи выйдите из системы, затем войдите в систему, и все работает нормально.

Шаг за шагом:

  1. sudo nano ~/.bashrc,
  2. добавьте это export PATH=$PATH:/usr/local/go/binв конец файла.
  3. выйти.
  4. авторизуйтесь и все работает!

Примечание. Для обеспечения goправильной работы откройте терминал и введите текст, go versionпосле чего вы увидите справку go .

Надеюсь, это поможет!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.