source je praktický vestavěný příkaz shellu, který přijímá argumenty, analyzuje příkazy ve skriptu a provádí je v prostředí shellu. Obsah souboru je načten podle zdroje a poté předán interpretu Tool Command Language (TCL), který provádí příkazy.

Pojďme se naučit, jak používat zdroj ke spouštění příkazů a pracovat s prostředími shellu v Linuxu, spolu se stručným vysvětlením, jak se liší od příkazu bash.

Použijte zdroj k provádění příkazů v souboru

Chcete-li použít zdrojový příkaz, musíte nejprve vytvořit ukázkový soubor a naplnit jej některými příkazy shellu. Začněte vytvořením nového souboru s dotykový příkaz. Otevřete soubor v textovém editoru dle vašeho výběru a napište několik základních příkazů shellu.

dotektest.txt
vitest.txt

# Napište příkazy do textového souboru:
echo "Ahoj!"
pwd
ls

# Zdrojový soubor se syntaxí zdroje nebo tečky
. test.txt
zdrojtext.txt

Vypište textový soubor a pokračujte v jeho předání jako argumentu zdrojovému příkazu. Systém provede příkazy v souboru a vrátí výstup.

Nyní, když znáte základy, jak používat zdroj, zkusme změnit prostředí prostředí Bash. Než však budete pokračovat, musíte mít základní znalosti

proměnné prostředí v Linuxu.

Použijte zdrojový příkaz k aktualizaci prostředí Bash Shell

V Linuxu jsou proměnné prostředí zděděné, ale neměnné. Pokud spustíte skript prostředí Bash, který upravuje proměnnou prostředí $TEST, skript vytvoří nový, rozvětvený shell proces a modifikace $TEST proběhne v něm namísto původního Bash životní prostředí.

Podřízený proces nebude moci upravit prostředí nadřazeného procesu. Může pouze upravovat své vlastní prostředí. Pojďme to pochopit na praktickém příkladu:

export TEST="deb"
vi příklad

# Zadejte tyto příkazy do souboru
export TEST="postel"
echo $TEST

# Vypište soubor, udělejte jej spustitelný a poté jej spusťte
příklad chmod +x
./příklad # toto vrátí "postel"
echo $TEST # toto vrátí "deb"

Zde vstupuje do hry příkaz source. Pomocí příkazu source můžete spustit skript ve stejném prostředí shellu, které by jinak bylo rozvětvené. Pokud tedy použijete skript, který upravuje proměnné prostředí, provede změny pro prostředí prostředí Bash.

Chcete-li to otestovat, zapište příkazy do pole kódu výše do nového souboru a místo toho, aby byl spustitelný, použijte zdrojový příkaz.

# Vytvořte nový soubor a upravte jej
vi test soubor
. testovací_soubor
echo $TEST # Toto vrátí "postel"

Jak vidíte, pomocí příkazu source jste byli schopni aktualizovat proměnné prostředí nadřazeného procesu. Toto je primární případ použití příkazu source, tj. k úpravě nadřazeného prostředí.

To jsou všechny kroky, které potřebujete k aktualizaci prostředí prostředí Bash pomocí příkazu source.

Rozdíl mezi linuxovými bash a zdrojovými příkazy

Rozdíl mezi linuxovými bash a zdrojovými příkazy je ten, že když spustíte skript pomocí bash příkazu, řekne to Linuxu kernel k vytvoření nového procesu Bash pro čtení a provádění skriptu, zkopírování výstupu do původního procesu shellu a jeho zobrazení.

Ale zdrojový příkaz je vestavěný shell který čte a vyhodnocuje soubor v rámci aktuálního procesu shellu. Takže všechny změny provedené skriptem budou zachovány v prostředí Bash.

Odstraňování problémů se zdrojovým příkazem Chyby

V některých systémech Linux můžete při pokusu o použití příkazu source narazit na chybu „zdroj nenalezen“. Tuto chybu můžete opravit dvěma způsoby:

1. Změňte Shell

Některé shelly nepodporují příkaz source. V takovém případě budete muset změnit prostředí prostředí pomocí chsh -s ($ which shell_name) příkaz.

Poté spusťte nový terminál mění svou skořápkua zkuste použít příkaz source. Pokud nový shell podporuje sourcing, pak by měl fungovat bezchybně.

2. Použijte syntaxi tečky/tečky

Některá prostředí shell nepodporují "zdroj"syntaxe, ale alternativa"."syntaxe." Syntaxe "source" je synonymem pro tečku v Bash. To ale nefunguje v shellu POSIX, takže pro maximální kompatibilitu použijte syntaxi období.

Základní Linuxové příkazy, které byste měli znát

Příkazy prostředí Linux jsou skvělým způsobem interakce se systémem pomocí terminálu. Jsou samotnou podstatou používání systémů *NIX.

I když nepotřebujete znát všechny příkazy, obeznámit se s několika užitečnými se vám jistě osvědčí, když se vydáte hluboko do světa Linuxu.