logo

zdrojový příkaz v Linuxu s příklady

Pokud jste ve světě Linuxu nováčkem, možná jste slyšeli o příkazech, které provádějí různé úkoly, ale některé jako příkaz „source“ se mohou zpočátku zdát trochu matoucí. Nebojte se; pojďme si to rozebrat krok za krokem.

Co je zdrojový příkaz?

Zdrojový příkaz v Linuxu je jako mávnutím kouzelného proutku, který vám umožňuje přenášet příkazy ze souboru a používat je přímo ve vašem terminálu. Je to jako mít knihu receptů a být schopni recepty ihned použít, aniž byste je museli kopírovat.



Příkaz „source“ je vestavěná funkce shellu, určená ke spouštění příkazů uložených v souboru přímo v aktuálním prostředí shellu. Když použijete příkaz „source“, přečte obsah zadaného souboru, obvykle posloupnost příkazů, a provede je, jako by byly napsány přímo do terminálu. Tento proces probíhá v kontextu aktuální relace shellu, aniž by se vytvořil nový proces nebo interpret. Pokud jsou s příkazem ‚source‘ poskytnuty nějaké argumenty, jsou předány jako poziční parametry příkazům ve zdrojovém souboru. Polohové parametry aktuální relace shellu však zůstanou nezměněny, pokud nebudou explicitně upraveny příkazy ve zdrojovém souboru. Příkaz ‚source‘ hledá zadaný soubor v adresářích uvedených v $PATH proměnná prostředí . Pokud soubor není nalezen v žádném z těchto adresářů, bude hledat v aktuálním adresáři. Je důležité si uvědomit, že příkaz „source“ nenabízí žádné možnosti; jeho jediným argumentem je název souboru, který má být zdrojem

Syntaxe Source Command v Linuxu

Syntaxe příkazu source je jednoduchá:

source FILENAME>

Nebo jeho ekvivalent:



. filename>

Zde „název souboru“ odkazuje na soubor obsahující příkazy, které mají být získávány.

Příklad Source Command v Linuxu

zdrojový příkaz v Linuxu s příklady

Spouštění skriptů Shell:

Jedním z primárních případů použití příkazu source je spouštění skriptů shellu v aktuálním prostředí shellu. To umožňuje skriptu přímo manipulovat s proměnnými, funkcemi a dalšími funkcemi shellu.



Představte si, že máte skript shellu s názvem „myscript.sh“, který nastavuje proměnnou a poté opakuje její hodnotu:

# myscript.sh
#!/bin/bash
# Nastavte proměnnou

algoritmus řazení haldy

MY_VARIABLE=Dobrý den, z myscript.sh

# Echo proměnné

echo $MY_VARIABLE

Nyní použijeme příkaz source ke spuštění tohoto skriptu v aktuálním shellu:

source myscript.sh>
Spuštění skriptu shellu

Spuštění skriptu shellu

Vysvětlení:

  • Příkaz source spouští příkazy v rámci „myscript.sh“ přímo v aktuálním prostředí shellu.
  • Proměnná 'MY_VARIABLE' je nastavena v rámci 'myscript.sh' a echoována, čímž se vytváří výstup v rámci aktuální relace shellu.

Úprava proměnných prostředí:

Příkaz source je zásadní pro úpravu proměnných prostředí proudu skořápka zasedání. To je zvláště užitečné, když skript potřebuje exportovat proměnné, které ovlivňují nadřazené prostředí shellu.

# environment_setup.sh
#!/bin/bash
# Export proměnné

export MY_ENV_VARIABLE=Toto je moje proměnná prostředí

Nyní pomocí příkazu source upravíme proměnné prostředí v aktuálním prostředí:

Fibonacciho kód java
Úprava proměnné prostředí

Úprava proměnné prostředí

source environment_setup.sh>

Chcete-li ověřit změny, můžete opakovat proměnnou prostředí:

echo $MY_ENV_VARIABLE>

Vysvětlení:

  • Zdrojový příkaz spustí skript ‚environment_setup.sh‘, který exportuje proměnnou ‚MY_ENV_VARIABLE‘.
  • Po získání zdroje skriptu se proměnná prostředí „MY_ENV_VARIABLE“ zpřístupní v aktuální relaci shellu, o čemž svědčí ozvěna její hodnoty.

Načítání konfiguračních souborů:

Mnoho aplikací v Linuxu závisí na konfiguračních souborech. Pomocí příkazu source lze tyto konfigurační soubory načíst přímo do aktuálního shellu, což zajistí, že se změny projeví okamžitě.

Zvažte scénář, kdy jste provedli změny v konfiguračním souboru „.bashrc“, jako je přidání nového aliasu:

# Přidejte alias do .bashrc

alias myalias=’ls -la’

Nyní pomocí příkazu source načteme aktualizovaný konfigurační soubor do aktuálního shellu:

apurva padgaonkar
source ~/.bashrc>

Nyní můžete použít nově přidaný alias „myalias“:

myalias>
Načítání konfiguračního souboru

Načítání konfiguračního souboru

Vysvětlení:

  • Příkaz source načte aktualizovaný soubor ‚.bashrc‘ do aktuální relace shellu, včetně všech změn provedených v aliasech nebo jiných konfiguracích.
  • Po získání zdroje „.bashrc“ se nově přidaný alias „myalias“ stane dostupným pro okamžité použití, jak se ukázalo při jeho spuštění a výpisu obsahu aktuálního adresáře.

Definování funkcí shellu:

Funkce shellu definované ve skriptu mohou být zpřístupněny v aktuální relaci shellu získáním skriptu obsahujícího tyto funkce.

Předpokládejme, že máte skript s názvem „my_functions.sh“, který definuje funkci shellu:

# my_functions.sh
#!/bin/bash
# Definujte funkci shellu

moje_funkce() {
echo Toto je moje vlastní funkce
}

Nyní pomocí příkazu source zpřístupníme tuto funkci v aktuálním shellu:

source my_functions.sh>

Nyní můžete funkci volat přímo v shellu:

my_function>
Definování funkcí shellu

Definování funkcí shellu

Vysvětlení:

  • Příkaz source spustí skript ‚my_functions.sh‘, který definuje funkci shellu s názvem ‚my_function‘.
  • Po získání zdroje skriptu se funkce 'my_function' zpřístupní pro okamžité použití v rámci aktuální relace shellu, jak je ukázáno jejím voláním a opakováním její zprávy.

Závěr

Závěrem lze říci, že příkaz ‚source‘ v Linuxu slouží jako výkonný nástroj pro bezproblémovou integraci příkazů, nastavení a funkcí z externích souborů přímo do aktuálního prostředí shellu. Příkaz ‚source‘, který funguje jako prostředník mezi relací terminálu a soubory obsahujícími instrukce, provádí příkazy v rámci zadaného souboru, jako by byly zapsány přímo do terminálu. To umožňuje dynamickou modifikaci proměnných prostředí, provádění skriptů shellu, načítání konfiguračních souborů a dostupnost vlastních funkcí shellu v rámci aktuální relace shellu. Využitím možností „zdrojového“ příkazu mohou uživatelé Linuxu zvýšit produktivitu a efektivitu při správě systému a úlohách vývoje, což přináší novou úroveň schopnosti a flexibility příkazového řádku.