příkaz zdroje je vestavěný příkaz shellu používaný ke čtení a provádění příkazů ze souboru v aktuální relaci shellu. Příkaz source se běžně používá k zachování/změně proměnné prostředí v aktuálním shellu. Stručně řečeno, zdrojový skript bude spouštět příkazy v aktuálním shellu .
Příkaz source je užitečný pro:
- Obnovení aktuálního prostředí shellu
- Spuštění skriptu shellu v kontextu aktuálního prostředí
- Pro import funkce shellu do skriptu
- Čtení proměnných ze skriptu shellu
Syntaxe pro zdrojový příkaz
Syntaxe tohoto vestavěného příkazu shellu je čitelná pro člověka. Vyžaduje soubor a pokud jsou uvedeny argumenty, slouží jako poziční parametry pro předávaný skript.
source FILENAME [ARGUMENTS]
. (tečka) lze také použít jako alternativu pro zdrojový příkaz.
. FILENAME [ARGUMENTS]
Jak používat zdrojový příkaz
Zde vysvětluji několik praktických příkladů, kde můžete použít zdrojový příkaz.
1. Obnovte své aktuální prostředí prostředí
Jako uživatel můžete definovat alias ve svém aktuálním prostředí shellu. Chcete-li definovat jeden pro ls -l
typ:
alias ll = 'ls -l'
Chcete-li jej použít, zadejte:
ll
Ačkoli výše uvedený seznam souborů v aktuálním adresáři v dlouhém formátu, funguje pouze pro aktuální relaci shellu. Chcete-li provést změny trvale, otevřete soubor ~/.bashrc a přidejte:
alias ll = 'ls -l'
Obnovení aktuálního prostředí typ prostředí:
source ~/.bashrc
2. Spusťte skript shellu v kontextu aktuálního prostředí shell
Skript shellu si není vědom proměnných, které definujete jako uživatel ve vašem aktuálním prostředí shellu. Příkaz source lze použít ke spuštění skriptu shellu v kontextu aktuální relace.
Chcete-li definovat typ dočasné proměnné:
WEBSITE = example.com
Chcete-li vytvořit vlastní typ skriptu:
#!/bin/bash echo $WEBSITE
Uložte soubor. Chcete-li jej spustit v kontextu aktuálního typu shellové relace:
source ./myscript.sh
Výstup je uveden níže.
example.com
3. Importujte funkci shellu
Chcete-li definovat vlastní typ skriptu prostředí:
!#/bin/bash foo() { echo "test" }
Uložte výše uvedený soubor jako script.sh.
Pro import funkce výše uvedeného skriptu ve vaší aktuální relaci shellu zadejte:
source script.sh
Chcete-li použít foo
typ funkce:
foo
Výstup je uveden níže.
test
4. Čtení proměnných ze skriptu shell
Chcete-li vytvořit skript shellu s některými proměnnými, zadejte:
#!/bin/bash a=1 b=2 c=3
Chcete-li číst proměnné v jiném skriptu shellu, zadejte:
#!/bin/bash source abovescript.sh echo $a, $b, $c
Výstup by měl být:
1, 2, 3
5. Čtení a provádění příkazů
Zdrojový příkaz může číst a spouštět příkazy ze souboru. Mějme textový soubor se sadou příkazů.
Například soubor commands.txt má následující obsah:
pwd
date
Výstup zdroje
$ source firstexample.txt /home/developer Fri Feb 25 11:10:11:09 GMT 2021
6. Předat argumenty funkcím
Tato část popisuje, jak předat parametr funkci a stejnou funkci, kterou můžeme znovu použít pomocí příkazu source.
function.sh!/usr /bin/bash var1=$1 var2=$2execute.sh
!/usr/bin/bash source functions.sh 10 AA echo “var1 = $var1” echo “var2 = $var2”Output.sh
var1 = 10 var2 = AA
Závěr
Zdrojový příkaz vyhodnocuje skript v aktuálním prostředí, zatímco příkaz exec běží v novém prostředí.
Prostřednictvím tohoto článku jste se naučili čtyři praktické příklady příkazu source. Přestože jsou všechny užitečné, pro vás jako uživatele je nejdůležitější ten první.