Complete List of MS-DOS Commands
2664
30/11/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
rtpříkaz:
< p>dbettis@rhino[~]$ export PATH=/usr/local/bin:/usr/bin:/sbin:/usr/sbin:.jak zkontrolovat cestu v unixu https://t.co/CUBY95j06G
— Rhonda Stevenson Po 17. prosinec 19:03:32 +0000 2018
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