Itt jönnek szóba a környezeti változók, különösen a PATH változó. Ez a változó feladata, hogy megmondja a bash -nak, hogy hol kell keresni ezeket a programokat. Nézzük meg, hogyan működik a PATH, és hogyan tekintheti meg/módosíthatja a PATH -ot.
Környezeti változó és $ PATH
A shell terminológia szerint a környezet egy olyan terület, amelyet a shell minden egyes munkamenet indításakor felépít. A környezet kezeléséhez vannak környezeti változók, amelyek a környezet különböző részeit jelölik. A változó értéke lehet karakterlánc, könyvtár helye, értéke vagy más.
A PATH olyan környezeti változó, amely nyomon követi bizonyos könyvtárakat. Alapértelmezés szerint a PATH változó a következő helyeket tartalmazza.
- /usr/bin
- /usr/sbin
- /usr/local/bin
- /usr/local/sbin
- /am
- /sbin
- /snap/bin (ha a Snap telepítve van)
Szeretné látni, hogy jelenleg mely könyvtárak vannak regisztrálva a PATH alatt? Indítson el egy terminált, és futtassa a következő parancsot.
$kidobta $ PATH
Itt a $ jel egy változót jelöl. Az kidobta parancs kinyomtatja a PATH változó értékét.
Most miért olyan fontos ez a környezeti változó? Ez azért van, mert a shell és a rendszer egésze hogyan kezeli. A PATH változó tárolja a végrehajtható fájlokat. Amikor parancs fut, a shell megkeresi a PATH könyvtárakat a végrehajtható fájlhoz, és futtatja azt.
Például teszteljünk a kidobta parancs. Itt egy visszhang parancsot futtatok.
$kidobtaHelló Világ!
Hol található a végrehajtható fájl kidobta ? Futtassa a következő parancsot, hogy megtudja.
$melyik kidobta
Mint látjuk, a kidobta futtatható fájl a/usr/bin/echo címen található. Melyik hol található? Találjuk ki.
$melyik melyik
Ez is a/usr/bin/which címen található. A legtöbb parancssori eszköz a /usr /bin könyvtár alatt található. Itt a bash a PATH -tal konzultál a parancs végrehajtható fájljainak kereséséhez szükséges helyekről.
A PATH módosítása
Mielőtt módosítanánk a PATH értékét, fontos megérteni szerkezetét. Futtassa újra a parancsot a PATH értékének ellenőrzéséhez.
$kidobta $ PATH
Figyelje meg, hogy az egyes könyvtárakat a: jel választja el egymástól.
Könyvtár hozzáadása a PATH -hoz
Ha egyéni könyvtárat szeretne hozzáadni a PATH -hoz, igénybe vesszük a bashrc fájl segítségét. Ez egy speciális bash szkript, amely a bash betöltődik minden alkalommal, amikor új bash munkamenet indul. Ne feledje, hogy a bashrc fájl a Linux rendszer minden egyes felhasználójának egyedi.
Nyissa meg a bashrc fájlt egy szövegszerkesztőben. Ha a bashrc fájl még nincs jelen, akkor a szerkesztő automatikusan létrehozza.
$jöttem~/.bashrc
Itt ez az alapértelmezett bashrc, amely az Ubuntuhoz tartozik. Menjen a fájl utolsó részéhez (ha létezik), és adja hozzá a következő sort.
$export PÁLYA='$ PATH: / '
Itt a PATH változó új értéke a régi változó lesz az újonnan hozzáadott könyvtárral együtt.
Mentse el a fájlt, és mondja meg a bash -nak, hogy töltse be újra.
$forrás~/.bashrc
Ellenőrizzük, hogy az új útvonalat sikeresen hozzáadtuk -e.
$kidobta $ PATH
Voálá! A PATH sikeresen frissítve! Most a bash keresni fogja az új elérési utat a végrehajtható fájl (ok) számára. Már van forgatókönyvem demo.sh asztalon. Nézzük meg, hogy a bash meg tudja -e hívni a pontos hely megadása nélkül.
$demo.sh
Igen, a bash problémamentesen közvetlenül hívhatja.
Könyvtár eltávolítása a PATH -ból
Nincs egyszerű módszer könyvtárak hozzáadására/eltávolítására a PATH -ból. Hadd magyarázzam.
A PATH értéke valójában rögzített. Akkor mi a helyzet a bashrc trükkel? A Bashrc egy bash szkript, amely a bash betöltődik minden egyes munkamenet indításakor. A bashrc-ben most kijelentettük, hogy a PATH új értéke lesz az alapértelmezett értéke és a felhasználó által megadott könyvtár. Most, amikor a bash betöltődik, látja, hogy a bashrc azt mondja, hogy rendeljen új értéket a PATH -hoz, és ezt teszi.
Hasonlóképpen, ha el akarunk távolítani egy könyvtárat a PATH-ból, újra hozzá kell rendelnünk egy másik PATH értéket a bashrc-ben, hogy minden alkalommal, amikor a bash elindul, a módosított értéket használja.
Nézzük ezt a példát. Hajlandó vagyok eltávolítani a ~/Desktop könyvtárat a PATH -ból.
$kidobta $ PATH | sed -És 's/: ~ /Desktop $ //'
Ha a könyvtár a/home/wrong/dir lenne, a parancs így nézne ki.
$kidobta $ PATH | sed -És 's/: /home /rossz /dir $ //'Itt az érdekes rész a sed eszköz. További információ a sedről itt és itt . Röviden, a sed használatával módosítjuk a kidobta parancs. Most ezt a módosított kimenetet használhatjuk a PATH értékének megváltoztatására.
Nyissa meg a bashrc -t egy szövegszerkesztőben, és adja hozzá a következő sorokat. Szándékosan megtartom az előző sorokat, hogy bebizonyítsam, hogy működik.
$export PÁLYA='$ (echo $ PATH | sed -e 's/: ~ /Desktop $ //')'
Alternatív megoldásként manuálisan is beállíthatja a PATH értékét. Ez egy munkaigényes folyamat, de egyszerűbb és egyszerűbb.
$export PÁLYA=/usr/helyi/sbin:/usr/helyi/am:/usr/sbin:/usr/am:/sbin:/am:/usr/játékok:/usr/helyi/játékok:/csattan/am
Itt a parancs értéke a PATH -hoz lesz rendelve. Mentse el a fájlt, és töltse be újra a bashrc -t.
$forrás~/.bashrc
Ellenőrizzük az eredményt.
$kidobta $ PATH
A PATH érték frissül!
Végső gondolatok
A bash -ban a PATH változó fontos. Bármely program, amely a bash munkameneten fut, örökli a változót, ezért fontos, hogy a PATH csak a szükséges könyvtárakat tartalmazza. További könyvtár hozzáadása csak redundanciát eredményez a rendszerben.
A bash összes környezeti változójának megtekintéséhez futtassa ezt a parancsot. Az első parancsrész az összes környezeti változót visszaadja, a második rész pedig a kimenetet növekvő sorrendbe rendezi.
$env | fajta
Szeretné fűszerezni bash -élményét? A Bash álnevek egyedülálló módot kínálnak a dolgok gyorsítására és fűszerezésére. További információ a bash álnevekről .
Élvezd!