Що таке змінна середовище 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щоб почати графічне оточення замість/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
Привіт, чудова перша відповідь! О, і ласкаво просимо до Спросіть 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тоді ви побачите довідкову допомогу .

Сподіваюся, це допомагає!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.