Úvod
Proměnné shellu jsou páry klíč–hodnota používané k ukládání důležitých konfiguračních dat pro shell. Vzhledem k tomu, že proměnná je pouze ukazatel na část dat, může obsahovat odkaz na jakýkoli datový typ - jméno, číslo, název souboru nebo dokonce jinou proměnnou.
Všechny proměnné, které uživatel definuje uvnitř bash shellu, jsou ve výchozím nastavení lokální. To znamená, že podřízené procesy shellu nedědí proměnné shellu. Uživatel musí exportovat proměnné, aby je zpřístupnil podřízeným procesům.
Tento tutoriál vám ukáže, jak exportovat proměnné Bash v Linuxu pomocí export
příkaz.
Předpoklady
- Přístup k terminálu/příkazovému řádku.
- Skořápka bash.
Co dělá příkaz export v Bash?
Proměnné v Bash se vytvářejí pomocí příkazu deklarovat nebo jednoduše zadáním páru klíč-hodnota do shellu. Chcete-li například vytvořit proměnnou s názvem test
, který má hodnotu řetězce example
, zadejte:
test="example"
Chcete-li zobrazit hodnotu proměnné, použijte příkaz echo:
echo $test
Hodnota se objeví ve výstupu:
Takto vytvořená proměnná se však vztahuje pouze na aktuální shellovou relaci. Chcete-li to vyzkoušet, otevřete podřízený shell zadáním:
bash
Použijte echo
pro kontrolu proměnné.
echo $test
Výstup je prázdný, protože proměnná test
má hodnotu pouze v nadřazeném shellu. Aby mohla být proměnná použita v podřízených procesech, musí být exportována.
Export proměnných je také důležitý pro skriptování v Bash. Níže uvedený příklad vytvoří skript s názvem test-script.sh
který zobrazuje hodnotu test
variabilní.
1. Vytvořte soubor pomocí textového editoru, jako je nano:
nano test-script.sh
2. Do souboru zadejte následující:
#!/bin/bash
echo $test
3. Uložte soubor a ukončete.
4. Změňte oprávnění souboru, aby bylo možné jej spustit:
chmod u+x test-script.sh
5. Spusťte skript:
./test-script.sh
Skript vrací prázdný výstup.
Výstup je prázdný, protože skript je spuštěn v podřízeném prostředí, které se automaticky otevře při spuštění skriptu.
Jak exportovat proměnnou Bash
Syntaxe pro export
příkaz je jednoduchý:
export [variable-name]
Níže uvedený příklad potvrzuje, že test
proměnná existuje i po použití bash
pro zahájení nové shellové relace.
Skripty mají nyní také přístup k proměnné. Spusťte znovu dříve vytvořený skript.
./test-script.sh
Nyní správně zobrazuje hodnotu test
.
Export funkcí
Použijte export
příkaz pro export funkcí bash.
1. Vytvořte například bash funkci s názvem echoVar
:
function echoVar
2. Funkce volá echo
zobrazíte hodnotu test
proměnná:
{
echo "The value of the test variable is: "$test
}
3. Funkci lze nyní volat jejím jménem, aby se zobrazila hodnota proměnné. Chcete-li funkci zpřístupnit v podřízených procesech, zadejte:
export -f echoVar
Funkce je nyní dostupná v podřízených shellech.
Zobrazení všech exportovaných proměnných
Při export
příkaz je vydán bez argumentů, zobrazí seznam všech proměnných. Chcete-li exportovat všechny uvedené proměnné do podřízených procesů, použijte -p
možnost.
export -p
Dvě proměnné vytvořené v tomto článku jsou ve spodní části výstupu.
Chcete-li vrátit zpět efekt export -p
, použijte -n
možnost.
export -n
Proměnné jsou opět omezeny na aktuální relaci shellu.