Bash Jak spustit příkaz v proměnné?
On 22 listopadu, 2021 by adminSkripty Bash lze vytvářet různými způsoby a většina z nás zná spouštění jednoduchých příkazů ve skriptu Bash. Tyto příkazy však lze také zapouzdřit do proměnných v systému Bash. Tento proces je známý jako nahrazování příkazů a obecně se používá k uložení výstupu příkazu do proměnné, takže nemusíte tento příkaz znovu a znovu explicitně spouštět, ale můžete jednoduše přistupovat k této proměnné a získat výstup tohoto příkazu, kdykoli budete chtít. V tomto článku vám ukážeme, jak to lze provést.
Poznámka: Všechny níže uvedené scénáře byly provedeny v Ubuntu 20.04. Budou však naprosto stejně fungovat i s jakoukoli jinou verzí Linuxu.
Způsob provedení příkazu v proměnné v systému Bash:
Pro demonstraci způsobu provedení příkazu v proměnné v systému Bash vám představíme tři různé scénáře, které jsou následující:
Provedení příkazu „echo“ uloženého v proměnné:
Jedná se o nejjednodušší scénář, ve kterém je naším cílem provést příkaz echo, který je uložen v proměnné. Aby se tak stalo, budete muset provést řadu níže uvedených kroků:
Krok č. 1: Vytvoření skriptu Bash:
V domovské složce musíte vytvořit skript Bash, pro jehož vytvoření musíte kliknout na ikonu Správce souborů, jak vidíte na následujícím obrázku:
Nyní najděte libovolné místo v domovské složce a kliknutím pravým tlačítkem myši na něj spusťte nabídku. V této nabídce vyberte možnost Nový dokument a v podnabídce vyberte možnost Prázdný dokument. Tímto postupem vytvoříte nový dokument ve složce Domů. Nyní tento nově vytvořený dokument přejmenujte na libovolný název, za kterým následuje přípona .sh. V našem případě jsme jej pojmenovali jako CommandVar.sh.
Pro zápis skriptu Bash do tohoto souboru jej dvojitým kliknutím otevřete a poté do něj zadejte skript zobrazený na obrázku níže. Zde první řádek skriptu, tj. „#!/bin/bash“, ukazuje, že tento soubor je ve skutečnosti souborem Bash. Dále jsme vytvořili proměnnou s názvem „test“ a přiřadili jí hodnotu „$(echo „Ahoj!“)“. Kdykoli chcete uložit příkaz do proměnné, musíte zadat tento příkaz, kterému předchází symbol „$“. V tomto případě jsme chtěli do proměnné „test“ uložit příkaz „echo“, takže jsme jednoduše napsali příkaz „echo“ následovaný náhodnou zprávou, uzavřeli jej do kulatých závorek a před něj umístili symbol „$“. Pokud tedy nyní budeme chtít tento příkaz „echo“ provést, budeme muset přistoupit k proměnné „test“. Abychom tedy ověřili, zda lze příkaz „echo“ uložený v proměnné „test“ úspěšně provést, nebo ne, vypsali jsme výstup proměnné „test“ na terminál pomocí dalšího příkazu „echo“. Po zadání tohoto skriptu je třeba soubor uložit a zavřít.
Krok č. 2: Spuštění skriptu Bash prostřednictvím terminálu:
Nyní je třeba tento skript spustit prostřednictvím terminálu. Otevřete tedy terminál v Ubuntu 20.04 a zadejte do něj následující příkaz:
Když stisknete klávesu Enter pro spuštění tohoto příkazu, budete moci v terminálu vidět následující výstup. Zde je zvýrazněná část výstupu výstupem příkazu „echo“, který byl uložen v proměnné „test“.
Vykonání příkazu „seq“ uloženého v proměnné:
V tomto scénáři vypíšeme posloupnost čísel pomocí příkazu „seq“ uloženého v proměnné. Pro jeho vyvolání upravíme výše vytvořený skript Bash provedením následujících kroků:
Krok č. 1: Úprava výše vytvořeného skriptu Bash:
Otevřete soubor Bash, který jste vytvořili výše uvedeným způsobem, a zadejte do něj následující skript. Zde jsme vytvořili proměnnou s názvem „sequence“. Naším cílem je vypsat čísla od 1 do 10 při použití příkazu „seq“. Za tímto účelem jsme proměnné „sequence“ přiřadili hodnotu „$(seq 1 10)“. Pokud chcete, můžete zadat i libovolný jiný rozsah čísel podle vlastního výběru. První číslo za příkazem „seq“ označuje spodní hranici posloupnosti, zatímco druhé číslo označuje horní hranici. Po zadání tohoto skriptu soubor uložte a zavřete.
Krok č. 2: Spuštění upraveného skriptu Bash prostřednictvím terminálu:
Nyní spusťte skript Bash stejným způsobem, jak bylo vysvětleno výše, a na terminálu se vám zobrazí zadaná posloupnost, jak ukazuje obrázek níže:
Provedení příkazu ‚pwd‘ uloženého v proměnné:
Vypsat pracovní adresář můžete také pomocí příkazu „pwd“ uloženého v proměnné. Abychom si to ukázali, upravíme výše vytvořený skript Bash ještě jednou podle níže uvedených kroků:
Krok č. 1: Úprava výše vytvořeného skriptu Bash:
Otevřete právě upravený soubor Bash a zadejte do něj skript uvedený na následujícím obrázku. V tomto skriptu jsme vytvořili proměnnou s názvem „working_directory“ a přiřadili jí hodnotu „$(pwd)“. Příkaz „pwd“ jednoduše uloží svůj výstup, tj. aktuální pracovní adresář, do proměnné „working_directory“. Abychom se ujistili, zda byl příkaz „pwd“ proveden správně, nebo ne, vypsali jsme hodnotu proměnné „working_directory“ na terminál pomocí příkazu „echo“. Nyní tento soubor uložte a po zadání upraveného skriptu Bash jej zavřete.
Krok č. 2: Spuštění upraveného skriptu Bash prostřednictvím terminálu:
Tento skript Bash nyní spusťte zcela stejným způsobem, jak bylo vysvětleno výše. Na výstupu tohoto skriptu Bash se zobrazí aktuální pracovní adresář. Zvýrazněná část výstupu je ve skutečnosti výstupem příkazu „pwd“.
Závěr:
Tento článek poskytuje velmi dobrou představu o tom, jak můžete spustit příkaz, který je uložen v proměnné v systému Bash, a můžete získat stejný výstup, jaký byste získali, kdybyste příkaz spustili samostatně.
Napsat komentář