Seznam proměnných prostředí v Linuxu/Unixu

⚡ Chytré shrnutí

Proměnné prostředí v Linuxu a Unixu jsou dynamické pojmenované hodnoty, které formují chování programů a shellu a ukládají nastavení, jako je cesta (PATH), domovský adresář, výchozí editor, jazyk a aktuálně používaný shell.

  • ???? Co jsou zač: Proměnné prostředí obsahují dynamické hodnoty, které ovlivňují procesy a lze je vytvářet, upravovat a mazat.
  • 🧭 CESTA: Proměnná PATH vypíše adresáře, ve kterých shell vyhledává a spouští spustitelné příkazy.
  • 🔎 Hodnoty odečtu: Příkaz echo zobrazí jednu proměnnou, zatímco příkazy env a printenv vypíší všechny proměnné prostředí.
  • 🆕 Vytváření: Přiřaďte hodnotu s NÁZEV=hodnota a poté ji pomocí exportu zpřístupněte podřízeným procesům.
  • 🗑️ Mazání: Příkaz unset odstraní proměnnou a její hodnotu z aktuální relace shellu.
  • 💾 Vytrvalost: Pro zachování proměnných napříč relacemi přidejte exportní řádky do ~/.bashrc nebo /etc/environment.
  • 🤖 Pomoc s umělou inteligencí: Asistenti umělé inteligence a GitHub Copilot mohou auditovat proměnné a generovat shellové skripty, které je používají.

Seznam běžných proměnných prostředí v Linuxu a Unixu

Proměnné prostředí jsou jednou z prvních věcí, které stojí za to pochopit na jakémkoli Linux nebo unixový systém, protože tiše řídí chování vašich programů a shellu. Tato příručka vysvětluje, co to je, jaké jsou nejběžnější a jak je číst, vytvářet a mazat.

Co je to počítačové prostředí?

Výpočetní prostředí je platforma (platforma = operační systém + procesor), kde může uživatel spouštět programy.

Co je proměnná?

V informatice je proměnná místem pro uložení hodnoty, kterou může být název souboru, text, číslo nebo jakákoli jiná data. Obvykle se na ni odkazuje symbolickým názvem, který je jí přidělen při vytvoření. Uloženou hodnotu lze poté zobrazit, smazat, upravit a znovu uložit.

Proměnné hrají v počítačovém programování důležitou roli, protože umožňují programátorům psát flexibilní programy. Protože jsou vázány na operační systém, na kterém pracujete, je důležité znát některé z nich a to, jak je můžete ovlivnit.

Co jsou proměnné prostředí?

Proměnné prostředí jsou dynamické hodnoty, které ovlivňují procesy nebo programy v počítači. Existují v každém operačním systému, ale jejich typy se mohou lišit. Proměnné prostředí lze vytvářet, upravovat, ukládat a mazat a poskytují informace o chování systému.

Proměnné prostředí mohou změnit chování softwaru a programů. Například proměnná prostředí $LANG ukládá jazyk, kterému uživatel rozumí. Tuto hodnotu aplikace načte, takže čínskému uživateli se zobrazí mandarínské rozhraní, zatímco americkému uživateli se zobrazí anglické rozhraní.

Pojďme si prostudovat některé běžné proměnné prostředí:

Proměnlivý Description
PATH Tato proměnná obsahuje seznam adresářů oddělených dvojtečkami (:), ve kterých váš systém hledá spustitelné soubory. Když zadáte příkaz v terminálu, shell vyhledá příkaz v adresářích uvedených v proměnné $PATH. Pokud je příkaz nalezen, provede se. V opačném případě vrátí chybu „příkaz nenalezen“.
USER Uživatelské jméno
HOME Výchozí cesta k domovskému adresáři uživatele
EDITOR Cesta k programu, který upravuje obsah souborů
UID Jedinečné ID uživatele
TERM Výchozí emulátor terminálu
SHELL Shell používaný uživatelem

Přístup k hodnotám proměnných

Pro určení hodnoty proměnné použijte příkaz echo:

echo $VARIABLE

Například níže uvedený snímek obrazovky ukazuje hodnotu proměnné PATH zobrazenou pomocí příkazu echo.

Zobrazení hodnoty proměnné PATH pomocí příkazu echo

Jakákoli proměnná prostředí lze číst stejným způsobem. Níže uvedený výstup ukazuje, jak funkce echo vrací hodnotu proměnné.

Výstup příkazu echo zobrazující hodnotu proměnné prostředí

Proměnné rozlišují velká a malá písmena, proto se ujistěte, že název proměnné zadáváte se správným počtem písmen, jinak nemusíte dosáhnout požadovaného výsledku. Chcete-li vypsat všechny proměnné prostředí najednou, použijte příkaz env, jak je znázorněno níže.

Příkaz env vypíše všechny proměnné prostředí v terminálu

Nastavte nové proměnné prostředí

Vlastní uživatelem definovanou proměnnou si můžete vytvořit pomocí této syntaxe:

VARIABLE_NAME=variable_value

Znovu nezapomeňte, že názvy proměnných rozlišují velká a malá písmena a obvykle se píší velkými písmeny. Proměnná vytvořená tímto způsobem je lokální proměnná shellu, kterou vidí pouze aktuální shell. Chcete-li ji povýšit na proměnnou prostředí, kterou dědí i podřízené procesy, použijte příkaz export:

export VARIABLE_NAME=value

Níže uvedený snímek obrazovky ukazuje vytvoření nové proměnné a její následné zobrazení pomocí příkazu echo.

Vytvoření a zobrazení nové uživatelem definované proměnné prostředí

Mazání proměnných

Následující syntaxe odstraní proměnnou ze systému:

unset variablename

Tím se proměnná a její hodnota odstraní z aktuální relace shellu, jak je znázorněno níže.

Odebrání proměnné prostředí pomocí příkazu unset

Nejčastější dotazy

Proměnná shellu existuje pouze v aktuálním shellu a nepředává se jiným programům. Proměnná prostředí je proměnná shellu, která byla exportována, takže ji dědí podřízené procesy spuštěné z tohoto shellu. K povýšení proměnné použijte příkaz export.

Proměnné nastavené v terminálu zmizí po ukončení relace. Chcete-li je zachovat, přidejte do spouštěcího souboru řádek pro export: ~/.bashrc nebo ~/.profile pro jednoho uživatele nebo /etc/environment pro každého uživatele v systému. Znovu načtěte soubor nebo znovu otevřete terminál, abyste jej použili.

Přidejte nový adresář k existující cestě PATH, abyste jej nepřepsali: export PATH=$PATH:/vas/novy/adresář. Tím se vaše složka přidá do seznamu, ve kterém shell vyhledává příkazy. Stejný řádek vložte do ~/.bashrc, aby změna přežila i při nových relacích.

Příkaz printenv vypíše pouze proměnné prostředí a může zobrazit pouze jednu z nich, například printenv HOME. Příkaz env také vypíše proměnné prostředí a může spustit program s upraveným prostředím. Příkaz set zobrazí vše, včetně proměnných shellu a funkcí, nejen exportované.

To obvykle znamená, že jste proměnnou PATH přepsali místo toho, abyste k ní přidali další parametry, takže shell již nemůže najít standardní příkazy. Při jejím nastavování vždy uveďte $PATH. Pro obnovení v aktuální relaci spusťte export PATH=/usr/local/bin:/usr/bin:/bin a poté opravte spouštěcí soubor.

Je to pohodlné, ale riskantní. Proměnné prostředí lze číst z /proc, dědí je podřízené procesy a často se projevují v protokolech nebo hlášeních o selhání. Pro citlivé tajné informace upřednostňujte specializovaného správce tajných informací nebo šifrovaný soubor s omezenými oprávněními namísto prosté proměnné.

Asistenti s umělou inteligencí dokáží vysvětlit, co dělá neznámá proměnná, auditovat konfigurační soubory, zda neobsahují chybějící nebo duplicitní položky, a označovat tajné údaje omylem odhalené v proměnných. Nástroje strojového učení dokáží také skenovat procesní prostředí napříč mnoha servery a detekovat chybné konfigurace, jejichž ruční kontrola by byla zdlouhavá.

Ano. GitHub Copilot Může generovat exportní příkazy, úpravy ~/.bashrc a shellové skripty, které čtou proměnné, jako například $HOME nebo $PATH. Navrhuje syntaxi během psaní, i když byste si měli před spuštěním zkontrolovat jakýkoli kód, který zpracovává přihlašovací údaje.

Shrňte tento příspěvek takto: