Complete List of MS-DOS Commands
2663
30/11/2021
Променливата PATH
След като прочетете този документ, трябва да знаете какво представлява променливата PATH, как да я зададете и как да видите директориите, които се намират в момента.
Мотивация
Разгледайте следната UNIX терминална сесия:
dbettis@rhino[~]$ ls...
Когато въвеждате командата
ls
, обвивката прилежно изпълнява командата и ви връща резултатите. По време на сесията на терминала въвеждате повече команди. Те включват неща като
emacs
,
firefox
и така нататък и така нататък. Но откъде идват тези команди? Очевидно те са включени, когато инсталирате операционната система, но къде са?
Командата UNIX
които
ще ви каже пълния път до abinary, който предстои да изпълни. Например:
dbettis@rhino[~]$ което е ls/bin/ls
Това означава, че изпълнимият файл за командата
ls
се намира в
/bin
. Алтернативно, да бягате
ls
, можете да въведете пълния път до командата:
dbettis@rhino[~]$ /bin/ls...
Изглежда обаче, че тук има малко магия. Откъде системата знае това
ls
влиза
/bin
? Начинът, който системата знае, е
ПЪТ
променлива на средата!
Променливи на средата
Първо, какво е променлива на средата? Това е променлива, която се запазва за живота на терминална сесия. Приложенията, работещи в тази сесия, имат достъп до тези променливи, когато имат нужда от информация за потребителя. За да видите списък с всички променливи на средата, изпълнете следното:
dbettis@rhino[~]$ exportdeclare -x ПОТРЕБИТЕЛ="dbettis"...
Името на променливата е
ПОТРЕБИТЕЛ
и съдържанието на тази променлива е
dbettis
. Друг начин да видите съдържанието на променлива на средата е да направите следното:
dbettis@rhino[~]$ echo $USERdbettis
Променливата на средата PATH
Променливата на средата PATH има специален формат. Да видим как изглежда:
dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.
По същество това е a
:
-разделен списък от директории. Когато изпълните команда, обвивката
търси във всяка от тези директории, една по една
, докато намери директория, където съществува изпълнимият файл. Спомнете си, че намерихме
ls
в
/bin
, нали?
/bin
е вторият елемент в променливата PATH. Така че нека премахнем
/bin
от
ПЪТ
. Можем да направим това, като използваме
изложение
rtкоманда:
< p>dbettis@rhino[~]$ експортиране PATH=/usr/local/bin:/usr/bin:/sbin:/usr/sbin:.как да проверя пътя в unix https://t.co/CUBY95j06G
— Ронда Стивънсън, понеделник, 17 декември 19:03:32 +0000 2018
Уверете се, че променливата е зададена правилно:
dbettis@rhino[~]$ echo $PATH/usr/local/bin:/usr/bin:/sbin:/usr/sbin:.
Сега, ако се опитаме да избягаме
ls
, обвивката вече не знае да надникне
/bin
!
dbettis@rhino[~]$ ls-bash: ls: командата не е намерена
Както се очаква,
ls
вече не може да бъде намерен. Нека добавим
/bin
назад към
ПЪТ
, като
ls
е много полезно нещо.
dbettis@rhino[~]$ експортиране PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.
Добавяне към PATH
Има много случаи, в които ще искате да добавите елемент
ПЪТ
.Първо, нека видим какъв е токът
ПЪТ
е:
dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.
Пътят към
добавяне
директория е както следва:
dbettis@rhino[~]$ export PATH=$PATH:/нов/път
Тази команда добавя
/нов/път
до
ПЪТ
. Да видим дали се актуализира:
dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.:/new/path
Това да се случва всеки път, когато влезете
В началната ви директория има специален файл, наречен
.bashrc
В UNIX конвенцията е, че файловете започват с
.
са конфигурационни файлове и следователно трябва да бъдат скрити от изглед.
ls
ще изведе само файлове, започващи с a
.
ако премина
-a
флаг. напр.
dbettis@rhino[~]$ ls -a
Във всеки случай този файл (.bashrc) просто съдържа списък с команди. Всяка една от тези команди се изпълнява всеки път, когато създавате newshell.
dbettis@rhino[~]$ cat .bashrcexport PATH="$PATH:/p/firefox/bin"..
Всеки път, когато се стартира обвивка,
/p/firefox/bin
се добавя към
ПЪТ
. Ако желаете определени директории да се добавят автоматично към
ПЪТ
, просто поставете тези команди в края на този файл. Излезте и влезте отново, за да видите промените. Като алтернатива можете да заредите съдържанието на този файл в текущата сесия:
dbettis@rhino[~]$ . .bashrc