Příkaz source spouští příkazy ze souboru v aktuálním shellu. Lze jej také použít k obnovení proměnných prostředí a upřímně řečeno, primárním použitím příkazu source je obnovení proměnných prostředí.
source filename [options]
Můžete také použít . (tečka) místo příkazu source takto:
. filename [options]
Jak funguje zdrojový příkaz?
Syntaxe tohoto příkazu je jednoduchá, ale jeho pochopení vyžaduje trochu hlubší pohled na některé koncepty Linuxu. Pokud s Linuxem nebo programováním začínáte, možná máte jen mlhavou představu o tom, co je proměnná.
Pokud jste tento termín slyšeli, ale přesně nevíte, co znamená, nevadí! Pamatujte, že všichni začínáme přesně ze stejného místa. Nikdo se ráno náhle neprobudí jako správce systému nebo programátor.
Než přejdu dál, podám krátké vysvětlení.
Pokud jste již obeznámeni s vytvářením proměnných v bash, můžete přeskočit na další záhlaví.
Přehled proměnných
Můžete otevřít libovolný bash terminál a vytvořit nové proměnné. Proměnnou si lze představit jako zástupný symbol, který lze použít k nasměrování vašeho systému na určitou informaci (písmena, čísla nebo symboly).
Podívejme se na příklad. Vytvořím novou proměnnou s názvem name a přiřadím jí hodnotu Christopher.
V bash se to dělá pomocí vzorce:název_proměnné=vaše_proměnná . Mezi = nevkládejte žádné mezery symbol a váš text.
[email protected]:~$ name=Christopher
[email protected]:~$ echo $name
Christopher
Co se stane, když napíšu pouze název proměnné?
[email protected]:~$ echo name
name
Pokud tento symbol zapomenete, bash vrátí text, který jste zadali. Tady mu říkám, aby ozvěna nebo vytiskla „jméno“. Bez symbolu $ bash nerozpozná, že chcete použít proměnnou, kterou jste vytvořili.
Vaše proměnná bude vložena tam, kde je volána. Mohu to tedy také zahrnout do věty jako je tato:
[email protected]:~$ echo "Hello, $name. $name is a great name. It's good to meet you."
Hello, Christopher. Christopher is a great name. It's good to meet you.
S proměnnými můžete dělat mnoho věcí, ale doufám, že tento základ bude stačit k tomu, aby každému, kdo si to přečte, porozuměl, jak fungují.
Proměnné prostředí vs proměnné prostředí
Jako další klíč k pochopení zdrojového příkazu si promluvme o vytrvalosti. Toto je snadný způsob, jak přemýšlet o rozdílu mezi skořápkou a obsahem životního prostředí. Můžete si to také představit jako „přenositelnost“ v závislosti na kontextu.
Jednoduše řečeno, pokud vytvoříte proměnnou v terminálovém shellu, bude ztracena, jakmile tento shell opustíte.
Naproti tomu proměnná prostředí ve vašem operačním systému trvá. Tyto proměnné obvykle používají všechna velká písmena, aby se odlišily.
Příkladem toho je vaše uživatelské jméno, které OS zná jako $USER.
[email protected]:~$ echo $USER
christopher
Dobře, takže jste strávili dost času procházením rozdílů mezi proměnnými prostředí a shellu. Co to má společného se zdrojem ? Všechno, opravdu.
Jinak by nebyl žádný rozdíl ve spuštění zdroje a bash . Abych tento bod ilustroval, mám připravenou ještě jednu ukázku.
Zdroj versus Bash
Pokud se nějakou dobu pohybujete kolem Linuxu, možná jste se s těmito příkazy setkali a mysleli si, že dělají totéž. Ostatně oba příkazy lze použít ke spuštění skriptu.
Zdroj funguje v aktuálním shellu, na rozdíl od běžícího bashu, který vytváří nový shell. To není zřejmé, protože se nezobrazují žádná nová okna.
Pokud sledujete, tento bude vyžadovat, abyste napsali velmi jednoduchý skript (říkejme mu echo.sh), který vypadá takto:
#! bin/bash
echo $USER
echo $name
Než ve svém terminálu uděláte cokoliv jiného, přiřaďte své jméno k názvu proměnné.
[email protected]:~$ name=chris
Dále vám ukážu, co se stane, když vyzkoušíte všechny 3 příkazy ve stejném terminálu, ve kterém jste přiřadili svou proměnnou.
[email protected]:~$ bash echo.sh
christopher
[email protected]:~$ source echo.sh
christopher
chris
[email protected]:~$ . echo.sh
christopher
chris
Jak můžete vidět, vaše lokální proměnná nebyla rozpoznána, když jste skript spouštěli pomocí bash .
Obnovení proměnných prostředí pomocí příkazu source
Zdroj lze také použít k aktualizaci proměnných prostředí v aktuálním prostředí. Běžnou aplikací pro tento úkol je aktualizace vašeho bash profilu v aktuálním prostředí.
Uživatel může chtít upravit svůj bash profil, řekněme, vytvořit alias. Za normálních okolností, jakmile uložíte konfiguraci, budete muset otevřít nové okno terminálu, aby se změny projevily.
[email protected]:~$ source .bashrc
Spuštěním se obnoví nastavení ve vašem aktuálním prostředí, aniž byste museli otevřít nový terminál.
Závěr
Doufáme, že se vám tento návod na zdrojový příkaz líbil. Jako vždy nám prosím dejte vědět své myšlenky v sekci komentářů. Pokud se vám tento příspěvek líbil, sdílejte jej na sociálních sítích pomocí tlačítek níže.