GNU/Linux >> Znalost Linux >  >> Linux

Příkaz zdroje Bash

source příkaz čte a provádí příkazy ze souboru zadaného jako jeho argument v aktuálním prostředí shellu. Je užitečné načíst funkce, proměnné a konfigurační soubory do skriptů shellu.

source je shell vestavěný v Bash a dalších populárních shellech používaných v operačních systémech Linux a UNIX. Jeho chování se může mírně lišit od shellu k shellu.

Syntaxe příkazu zdroje #

Syntaxe pro source příkaz je následující:

source FILENAME [ARGUMENTS]
. FILENAME [ARGUMENTS]
  • source a . (tečka) jsou stejný příkaz.
  • Pokud FILENAME není úplná cesta k souboru, příkaz vyhledá soubor v adresářích zadaných v $PATH environmentální proměnná. Pokud soubor není nalezen v $PATH , příkaz vyhledá soubor v aktuálním adresáři.
  • Pokud existují ARGUMENTS jsou uvedeny, stanou se pozičními parametry pro FILENAME .
  • Pokud FILENAME existuje, source kód ukončení příkazu je 0 , v opačném případě, pokud soubor není nalezen, vrátí 1 .

Příklady zdrojových příkazů #

V této části se podíváme na několik základních příkladů, jak používat source příkaz.

Funkce získávání zdrojů #

Pokud máte skripty shellu používající stejné funkce, můžete je extrahovat do samostatného souboru a poté tento soubor získat ve svých skriptech.

V tomto příkladu vytvoříme soubor obsahující funkci bash, která kontroluje, zda uživatel spouštějící skript je root, a pokud ne, zobrazí zprávu a skript ukončí.

function.sh
check_root () {
  if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root" 
    exit 1
  fi
}

Nyní v každém skriptu, který musí spouštět pouze uživatel root, jednoduše zadejte zdroj functions.sh soubor a zavolejte funkci:

#!/usr/bin/env bash

source functions.sh
check_root

echo "I am root"

Pokud výše uvedený skript spustíte jako uživatel bez oprávnění root, vypíše „Tento skript musí být spuštěn jako uživatel root“ a skončí.

Výhodou tohoto přístupu je, že vaše skripty budou menší a čitelnější, můžete kdykoli znovu použít stejný soubor funkcí a v případě, že potřebujete upravit funkci, upravíte pouze jeden soubor.

Konfigurační soubor Bash #

Pomocí source můžete také číst proměnné ze souboru. Proměnné musí být nastaveny pomocí syntaxe Bash, VARIABLE=VALUE .

Vytvoříme testovací konfigurační soubor:

config.sh
VAR1="foo"
VAR2="bar"

Ve skriptu bash použijte source příkaz ke čtení konfiguračního souboru:

#!/usr/bin/env bash

source config.sh

echo "VAR1 is $VAR1"
echo "VAR2 is $VAR2"

Pokud skript spustíte, výstup bude vypadat takto:

VAR1 is foo
VAR2 is bar

Závěr č.

V této příručce jste se naučili používat source vestavěný příkaz ve vašich skriptech shellu.

Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.


Linux
  1. Použití příkazu Linux Basename ve skriptech Bash

  2. příkaz pro export bash

  3. conda source deactivate :bash:deactivate:Žádný takový soubor nebo adresář

  1. Vysvětlení příkazu Bash trap

  2. Bash čeká příkaz

  3. Bash četl příkaz

  1. Bash:Zápis do souboru

  2. Linux Tail Command

  3. Linux Touch Command