Bash Jak provést příkaz v proměnné?

Bash How Execute Command Variable



Bash skripty lze vytvářet různými způsoby a většina z nás zná provádění jednoduchých příkazů v Bash skriptu. Tyto příkazy však lze také zapouzdřit do proměnných v Bash. Tento proces je známý jako nahrazování příkazů a obecně se používá k ukládání výstupu příkazu do proměnné, takže tento příkaz nemusíte spouštět explicitně znovu a znovu, ale spíše můžete jednoduše přistupovat k této proměnné, abyste získali 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 na Ubuntu 20.04. Budou však fungovat přesně stejným způsobem s jakoukoli jinou příchutí Linuxu.







Způsob provedení příkazu v proměnné v Bash:

Pro demonstraci způsobu provedení příkazu v proměnné v 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é:

Toto je 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 to stalo, budete muset postupovat podle níže uvedených kroků:



Krok č. 1: Vytvoření skriptu Bash:

Ve své domovské složce musíte vytvořit skript Bash, pro který musíte kliknout na ikonu Správce souborů, jak vidíte z následujícího obrázku:





Nyní najděte ve své domovské složce jakékoli místo a kliknutím pravým tlačítkem na něj otevřete nabídku. V této nabídce vyberte možnost Nový dokument a poté v nabídce kaskádového výběru vyberte možnost Prázdný dokument. Tímto způsobem vytvoříte nový dokument ve své domovské složce. Nyní přejmenujte tento nově vytvořený dokument na libovolný vámi zvolený název následovaný příponou .sh. V našem případě jsme jej pojmenovali jako CommandVar.sh.



Chcete -li do tohoto souboru napsat skript Bash, dvojitým kliknutím jej otevřete a poté do souboru Bash 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. Poté jsme vytvořili proměnnou s názvem test a přiřadili jí hodnotu $ (echo Ahoj!). Kdykoli chcete příkaz uložit do proměnné, musíte tento příkaz zadat před symbol $. V tomto případě jsme chtěli uložit příkaz echo do testovací proměnné, takže jsme jednoduše zadali příkaz echo následovaný náhodnou zprávou a uzavřeli jej do kulatých závorek a umístili před něj symbol $. Pokud tedy nyní chceme provést tento příkaz echo, budeme muset přistupovat k testovací proměnné. Abychom ověřili, zda lze příkaz echo uložený v testovací proměnné úspěšně provést nebo ne, vytiskli jsme výstup testovací proměnné na terminál pomocí jiného příkazu echo. Po zadání tohoto skriptu musíte soubor uložit a zavřít.

Krok č. 2: Provedení skriptu Bash pomocí terminálu:

Nyní musíte 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:

bashCommandVar.sh

Když stisknete klávesu Enter pro provedení tohoto příkazu, uvidíte na svém terminálu následující výstup. Zde je zvýrazněná část výstupu výstupem příkazu echo, který byl uložen v testovací proměnné.

Spuštění příkazu seq uloženého v proměnné:

V tomto scénáři vytiskneme posloupnost čísel pomocí příkazu seq uloženého v proměnné. Aby k tomu došlo, 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 uvedenou metodou, a zadejte do něj následující skript. Zde jsme vytvořili proměnnou s názvem sekvence. Naším cílem je pomocí příkazu seq vytisknout čísla od 1 do 10. Za tímto účelem jsme proměnné sekvence přiřadili hodnotu $ (seq 1 10). Pokud chcete, můžete také zadat libovolný jiný rozsah čísel podle vašeho výběru. První číslo za příkazem seq označuje spodní hranici sekvence, zatímco druhé číslo označuje horní hranici. Po zadání tohoto skriptu uložte soubor a zavřete jej.

Krok č. 2: Spuštění upraveného skriptu Bash pomocí terminálu:

Nyní spusťte skript Bash stejným způsobem, jak je vysvětleno výše, a na svém terminálu uvidíte uvedenou sekvenci, jak je znázorněno na obrázku níže:

Provedení příkazu „pwd“ uloženého v proměnné:

Pracovní adresář můžete také vytisknout pomocí příkazu pwd uloženého v proměnné. Abychom to předvedli, znovu upravíme výše vytvořený skript Bash podle níže uvedených kroků:

Krok č. 1: Úprava výše vytvořeného skriptu Bash:

Otevřete právě upravený soubor Bash a poté do něj zadejte skript zobrazený na následujícím obrázku. V tomto skriptu jsme vytvořili proměnnou s názvem working_directory a přiřadili jsme jí hodnotu $ (pwd). Příkaz pwd jednoduše uloží svůj výstup, tj. Aktuální pracovní adresář do proměnné working_directory. Abychom zajistili, zda byl příkaz pwd správně proveden nebo ne, vytiskli jsme hodnotu proměnné working_directory na terminálu pomocí příkazu echo. Nyní uložte tento soubor a poté jej zavřete po zadání upraveného skriptu Bash.

Krok č. 2: Spuštění upraveného skriptu Bash pomocí terminálu:

Nyní spusťte tento skript Bash stejným způsobem, jak bylo vysvětleno výše. Výstup tohoto skriptu Bash vám ukáže 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 dává velmi dobrou představu o tom, jak můžete spustit příkaz, který je uložen v proměnné v Bash a může získat stejný výstup, jaký byste získali, kdybyste příkaz spustili samostatně.