Как да добавите директория към PATH в Linux

How Add Directory Path Linux



PATH е предварително дефинирана променлива в черупка на Linux. Състои се от директории с техните пътища на директория, започващи от корена. PATH е списък, разделен с двоеточие. Всяка директория с пътя си е отделена от предходната директория с пътя си с двоеточие. Черупката търси команди в тези директории.

Командите не са само команди на дискова операционна система. Пътят е списък с директории, в които черупката търси команди на операционната система и други команди. Командите са като кратки програмни файлове. Така че командите са изпълними. Всяко приложение, инсталирано на компютъра, идва с изпълним файл. За да стартирате приложението, първо се ангажира изпълнимият файл. Тези изпълними файлове се наричат ​​също команди.







Без променливата PATH всяка команда ще бъде командвана с абсолютния път, както в,



/home/john/dir1/dir2/command.exe



където първият / е основната директория; john е потребителската директория за потребителя, John; dir1 и dir2 са поддиректории; и command.exe е името на изпълнимия файл.





Възможно е много други имена за изпълнимия файл. Всъщност command.exe е символичен тук. Така че, ако директорията/home/john/dir1/dir2 (без файла) е в променливата PATH, потребителят john ще изпълни command.exe в подканата, [email protected]: ~ $, като просто напишете, command.exe, без предходния път. Това е:

[защитен имейл]: ~ $command.exe

и след това натиснете Enter.

За да видите текущия списък с директории PATH на компютъра, въведете:

$изхвърлен $ PATH

и натиснете Enter на терминала. Резултатът ще бъде нещо подобно,

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Въпросът сега е: как се добавя директория (и нейният предходен път) към променливата PATH? При някои инсталации директорията се добавя автоматично. При други трябва да се добавя ръчно. Тази статия обяснява двата основни начина, по които се добавя директорията. Директорията не се добавя (включва), както би било направено към масив. Двата основни начина се наричат ​​временно добавяне и постоянно добавяне. Bash е обвивката, използвана за примерите с кодове в тази статия.

Съдържание на статията

Временно допълнение

Временното добавяне означава, че добавянето се извършва само в паметта. Не се запазва за използване при рестартиране на компютъра.

Вградената команда за износ на корпуса на Борн

С прости думи, командата за експортиране е:

$износ [име[= стойност]]

В този случай той присвоява стойност на променлива в паметта.

Променливата PATH в паметта може вече да има стойност като,

PATH =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Да приемем, че директорията, която ще бъде добавена, е/home/john/dir1/dir2. Ако командата за експортиране е въведена като,

$износ ПЪТ=/У дома/Джон/dir1/dir2

тогава/home/john/dir1/dir2 ще замени всичко, което вече е в паметта, като стойност за променливата PATH.

Ако командата за експортиране е въведена като,

$износ ПЪТ=$ PATH:/У дома/Джон/dir1/dir2

Тогава/home/john/dir1/dir2 ще се прикрепи в края на това, което вече е в променливата. Така че новата променлива ще бъде:

ПЪТ = =/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/ начало/john/dir1/dir2

Забележете, че в предишния ред на кода по -горе частта от стойността, която вече е там, е отделена от новата част с двоеточие, което е „:“. $ PATH в реда на кода, разширява (се заменя) със стойността на PATH, която вече е в паметта.

Сега същата команда може да бъде в повече от една директория. Когато изпълнимата команда е въведена без предходния път в подканата, черупката започва да търси стойността (низ) на променливата PATH в паметта, отляво надясно. Така че, с горния ред код,/home/john/dir1/dir2 най -сетне ще пристигне в търсенето. Кой иска неговият указател да пристигне последен? - Никой. Така че, по -добър начин за включване (добавяне) на директорията е следният:

$износ ПЪТ=/У дома/Джон/dir1/dir2:$ PATH

/home/john/dir1/dir2 сега е в началото, отделен от следващата директория, с двоеточие. И така, с подкана на [email protected]: ~ $,

[защитен имейл]: ~ $износ ПЪТ=/У дома/Джон/dir1/dir2:$ PATH

след като въведете и натиснете Enter, командата command.exe в директорията, dir2, ще се изпълни с:

[защитен имейл]: ~ $command.exe

Докато компютърът не е изключен, потребителят ще продължи да изпълнява command.exe, без да въвежда предходния път.

Когато компютърът е изключен, всичко в паметта с произволен достъп се изтрива. Лошата новина е, че компютърният потребител ще трябва да повтори този процес на добавяне на своята директория към променливата PATH всеки път, когато компютърът се рестартира. Никой не иска да прави това днес. Така че подходът на постоянното добавяне е препоръчителният подход. Тоест добавката към PATH трябва да бъде записана (на твърдия диск).

Постоянно допълнение

От горното обсъждане идеята е да се запази направената промяна (в твърдия диск). Така че, ако промяната се запише във файл, който черупката чете всеки път, когато компютърът се стартира, това би било добре. Тоест всеки път, когато компютърът се стартира, променливата PATH в паметта ще се актуализира по подходящ начин. Когато компютърът се стартира, при зареждане той чете определени файлове. Един от файловете, които черупката на Bash за Linux чете, е ~/.bashrc. Името на файла е. bashrc , започвайки с точка. Той е в директорията на потребителя.

Bash е само една обвивка, вероятно най -популярната черупка за Linux днес. Друга обвивка за Linux е Zsh. Със Zsh съответният файл е ~/. zshrc , все още в директорията на потребителя. Когато черупката стартира, при зареждане тя чете този файл. За Bash файлът е, ~/.bashrc. Така че, ако горният код за добавяне е въведен във файла ~/.bashrc, директорията винаги ще бъде в паметта, тъй като ~/.bashrc винаги ще го включва в PATH, всеки път, когато компютърът се стартира. Той остава в паметта, докато компютърът не се изключи.

В Bash ~/.bashrc е скрит файл, така че обикновената употреба на командата ls няма да го покаже. ~/.bashrc съдържа някои команди Bash (shell). Ubuntu е вариант на Linux. Ubuntu идва с текстов редактор. В компютъра на автора фонът на текстовия редактор на Ubuntu е черен.

Горната команда за добавяне (без подканата) трябва да бъде включена във файла ~/.bashrc. Добре е да го добавите в края на файла, за да не се ограничавате с наличното му съдържание, което вероятно работи добре.

За да отворите ~/.bashrc в Ubuntu, въведете следното в командния ред на терминала и натиснете Enter:

$нано~/.bashrc

Където nano е текстовият редактор. Тук nano е команда (изпълнима), чийто аргумент е ~/.bashrc. Съдържанието на файла трябва да се отвори в текстовия редактор, за да се наслагва на прозореца на терминала.

Файлът ~/.bashrc ще се отвори в текстовия редактор, вероятно с черен фон. Курсорът ще мига в горния ляв ъгъл.

Натискайте клавиша със стрелка надолу на клавиатурата непрекъснато, докато курсорът достигне края на файла. Добавете нов ред от,

$износ ПЪТ=/У дома/Джон/dir1/dir2:$ PATH

Това не е всичко. Промяната във файла ~/.bashrc не е запазена. За да запишете файла с направената промяна, натиснете Ctrl+o и следвайте всички други инструкции, които се появяват. За да излезете от текстовия редактор, натиснете Ctrl+x и нормалният прозорец на терминала трябва да замени прозореца на текстовия редактор. След това могат да се издават други команди на обвивката.

Ако echo $ PATH е издадено, новата директория няма да се види на дисплея. Има два начина да продължите оттук: или рестартирайте компютъра, или вземете новото съдържание на файла ~/.bashrc в паметта с командата source. Лесно е да използвате командата source, както следва:

$източник~/.bashrc

Ако командата източник е издадена без рестартиране, тогава echo $ PATH ще покаже новата директория, добавена в резултата (дисплей). След това командата от интерес може да бъде въведена без предходния път.

Забележка: Не бъркайте края на стойността (списък) на PATH и края на файла ~/.bashrc. Също така, не бъркайте между директория в PATH в паметта и изпълним файл в директорията на твърдия диск.

Заключение

PATH е вградена променлива в черупки на Linux. Стойността на PATH е списък с директории, разделени с двоеточия. На твърдия диск има команда (изпълним файл) за всяка от тези директории. Ако при продажбата е издадена команда, без да се предхожда с път, черупката ще разгледа командите в тези директории. Ако не вижда командата в нито един от директориите, командата няма да бъде изпълнена. В този случай, за да се изпълни командата, тя трябва да бъде предшествана с нейния път. Командата може да бъде в повече от една директория в стойността PATH. Веднага щом черупката види първата директория с командата, тя изпълнява командата. Стойността PATH всъщност е низ, състоящ се от директории, разделени с двоеточия.

Проблемът е как да добавите директорията за изпълнимия файл на ново приложение в PATH. В някои случаи това става автоматично от инсталиращата програма на новото приложение. В други случаи това трябва да се направи ръчно. Има два начина да направите това ръчно, наричани: Временно добавяне и Постоянно добавяне. Временното добавяне използва командата за експортиране и просто добавя директорията, докато компютърът е включен. Постоянното добавяне трябва да запише командния ред за експортиране в файла за инициализация ~/.bashrc (Bash) за бъдещи операции.