Domov Operační systém Proměnná PATH v UNIXu

Proměnná PATH v UNIXu

1489 17/08/2021

Proměnná PATH

Po přečtení tohoto dokumentu byste měli vědět, co je proměnná PATH, jak ji nastavit a jak zobrazit adresáře, které se v ní aktuálně nacházejí.

Motivace

Zvažte následující relaci terminálu UNIX:

dbettis@rhino[~]$ ls...

Když zadáte příkaz

ls

, shell poslušně vykoná příkaz a vrátí vám výsledky. Během relace terminálu zadáváte více příkazů. Patří sem věci jako

emacs

,

Firefox

, tak dále a tak dále. Ale odkud tyto příkazy pocházejí? Je zřejmé, že jsou zahrnuty při instalaci operačního systému, ale kde jsou?

Příkaz UNIX

které

vám sdělí úplnou cestu k abinárnímu systému, který se chystá spustit. Například:

dbettis@rhino[~]$ což ls/bin/ls

To znamená, že spustitelný soubor pro daný příkaz

ls

se nachází v

/bin

. Případně běhat

ls

, můžete zadat úplnou cestu k příkazu:

dbettis@rhino[~]$ /bin/ls...

Zdá se však, že se zde děje trochu magie. Jak to systém ví

ls

je součástí

/bin

? Způsob, jakým systém zná, je

PATH

proměnná prostředí!

Proměnné prostředí

Za prvé, co je to proměnná prostředí? Je to proměnná, která přetrvává po celou dobu trvání relace terminálu. Aplikace běžící v této relaci přistupují k těmto proměnným, když potřebují informace o uživateli. Chcete-li zobrazit seznam všech proměnných prostředí, proveďte následující:

dbettis@rhino[~]$ exportdeclare -x USER="dbettis"...

Název proměnné je

UŽIVATEL

a obsah této proměnné je

dbettis

. Dalším způsobem, jak zobrazit obsah proměnné prostředí, je provést následující:

dbettis@rhino[~]$ echo $USERdbettis

Proměnná prostředí PATH

Proměnná prostředí PATH má speciální formát. Podívejme se, jak to vypadá:

dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.

Je to v podstatě a

:

-oddělený seznam adresářů. Když spustíte příkaz, shell

prohledává každý z těchto adresářů, jeden po druhém

, dokud nenajde adresář, kde existuje spustitelný soubor. Pamatujte, že jsme našli

ls

v

/bin

, že?

/bin

je druhá položka v proměnné PATH. Tak pojďme odstranit

/bin

od

PATH

. Můžeme to udělat pomocí

výstava

rt

příkaz:

< p>dbettis@rhino[~]$ export PATH=/usr/local/bin:/usr/bin:/sbin:/usr/sbin:.

Ujistěte se, že je proměnná nastavena správně:

dbettis@rhino[~]$ echo $PATH/usr/local/bin:/usr/bin:/sbin:/usr/sbin:.

Teď, když se pokusíme utéct

ls

, shell už neví, kam se má podívat

/bin

!

dbettis@rhino[~]$ ls-bash: ls: příkaz nenalezen

Podle očekávání

ls

již nelze najít. Přidejme

/bin

zpět na

PATH

, as

ls

je velmi užitečná věc.

dbettis@rhino[~]$ export PATH=/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.

Přidávání do PATH

Mnohokrát budete chtít přidat položku

PATH

Nejprve se podívejme, co je aktuální

PATH

je:

dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.

Cesta k

přidat

adresář je následující:

dbettis@rhino[~]$ export PATH=$PATH:/new/path

Tento příkaz přidá

/nová/cesta

do

PATH

. Podívejme se, zda byl aktualizován:

dbettis@rhino[~]$ echo $PATH/usr/local/bin:/bin:/usr/bin:/sbin:/usr/sbin:.:/new/path

To se stane pokaždé, když se přihlásíte

Ve vašem domovském adresáři je speciální soubor s názvem

.bashrc

V UNIXu platí konvence, že soubory začínají

.

jsou konfigurační soubory, a proto by měly být skryty.

ls

zobrazí pouze soubory začínající na a

.

pokud prošel

-a

příznak. např.

dbettis@rhino[~]$ ls -a

V každém případě tento soubor (.bashrc) obsahuje pouze seznam příkazů. Každý z těchto příkazů se provede pokaždé, když vytvoříte nový shell.

dbettis@rhino[~]$ cat .bashrcexport PATH="$PATH:/p/firefox/bin"..

Při každém spuštění shellu

/p/firefox/bin

je přidáno

PATH

. Pokud si přejete, aby se určité adresáře automaticky přidávaly

PATH

, jednoduše umístěte tyto příkazy na konec tohoto souboru. Pro zobrazení změn se odhlaste a znovu přihlaste. Alternativně můžete obsah tohoto souboru načíst v aktuální relaci:

dbettis@rhino[~]$ . .bashrc

Nejnovější: Norton 360 Platinum 2021 – Antivirus software for 20 Devices with Auto Renewal - 3 Months FREE - Includes VPN, PC Cloud Backup & Dark Web Monitoring [Download]
Další: How to Update USB Drivers on Windows 10 (Automatic and Manual)
Populární články/span>
Back to top