Proměnné se používají k ukládání hodnot různých typů během provádění programu. Ve skriptování Bash existují dva typy proměnných: globální a místní.
Globální proměnné mohou být použity všemi Bash skripty ve vašem systému, zatímco lokální proměnné mohou být použity pouze ve skriptu (nebo shellu), ve kterém jsou definovány.
Globální proměnné jsou obecně poskytovány v systému ve výchozím nastavení a jsou to hlavně proměnné prostředí a konfigurace. Lokální proměnné jsou naproti tomu uživatelem definované a mají libovolné použití.
Místní proměnné Bash
Chcete-li vytvořit proměnnou, musíte názvu proměnné přiřadit hodnotu. Bash je netypovaný jazyk, takže při definování proměnných nemusíte uvádět datový typ.
var1=Ahoj
Bash také umožňuje více přiřazení na jednom řádku:
a=6 b=8 c=9
Stejně jako mnoho jiných programovacích jazyků používá Bash operátor přiřazení = k přiřazení hodnot proměnným. Je důležité si uvědomit, že na obou stranách operátoru přiřazení by neměly být žádné mezery. V opačném případě se zobrazí chyba kompilace.
Příbuzný: Co znamená "Bash" v Linuxu?
Další klíčový bod k poznámce: Bash neumožňuje nejprve definovat proměnnou a poté jí přiřadit hodnotu. Při vytváření musíte proměnné přiřadit hodnotu.
var2 # chyba kompilace
var2=Svět
Někdy může být nutné přiřadit k vaší proměnné řetězec, který má v sobě mezeru. V takovém případě uzavřete řetězec do uvozovek.
# var3=Ahoj světe
# výše uvedený úkol nefunguje
var3='Ahoj světe'
Všimněte si použití jednoduchých uvozovek. Tyto uvozovky se také nazývají „silné uvozovky“, protože přiřazují hodnotu přesně tak, jak je napsána, bez ohledu na jakékoli speciální znaky.
Ve výše uvedeném příkladu jste také mohli použít dvojité uvozovky ("slabé uvozovky"), i když to neznamená, že je lze vždy použít zaměnitelně. Je to proto, že dvojité uvozovky nahradí speciální znaky (například znaky s $), místo toho, abychom je vykládali doslovně.
Viz příklad níže:
var4=89
echo "Číslo je $var4"
echo 'Číslo je $var4'
# První výstupní výtisky: 89
# Druhý výstup vytiskne ponechá "$var4" tak, jak je
Pokud chcete své proměnné přiřadit výstup příkazového řádku, použijte zpětné uvozovky (``). Řetězec v nich uzavřený budou považovat za příkaz terminálu a vrátí jeho výsledek.
var5="Právě pracujete v tomto adresáři: `pwd`"
Rozšíření parametrů v Bash
Rozšíření parametrů jednoduše odkazuje na přístup k hodnotě proměnné. Ve své nejjednodušší podobě používá speciální znak $ následovaný názvem proměnné (bez mezer mezi nimi):
var6=Jack
echo Jmenuji se $var6
Můžete také použít syntaxi ${variableName} pro přístup k hodnotě proměnné. Tato forma je vhodnější, pokud může dojít k nejasnostem kolem názvu proměnné.
m=Med
echo Med znamená ${m}ical
Pokud vynecháte složené závorky, ${m}ical bude interpretována jako složená proměnná (která neexistuje). Toto použití složených závorek s proměnnými je známé jako "substituce".
Globální proměnné
Jak již bylo zmíněno dříve, váš systém Linux má některé vestavěné proměnné, ke kterým lze přistupovat napříč všemi vašimi skripty (nebo shelly). K těmto proměnným se přistupuje pomocí stejné syntaxe jako k lokálním proměnným.
Příbuzný: Jak vytvářet a spouštět Bash skripty v Linuxu
Většina těchto proměnných je psána BLOKOVÝMI písmeny. Některé jsou však jednotlivé znaky, které nejsou ani alfanumerickými znaky.
Zde jsou některé běžné užitečné globální proměnné:
DOMOV: Poskytuje domovský adresář uživatele
SHELL:Poskytuje typ shellu, který používáte (např. Bash, csh..atd)
?: Poskytuje stav ukončení předchozího příkazu
Chcete-li získat seznam globálních proměnných ve vašem systému, spusťte příkaz printenv (nebo env) příkaz:
$ printenv
Smyčky ve skriptování Bash
Nyní víte, co jsou proměnné, jak je přiřadit a jak pomocí nich provádět základní Bash logiku.
Smyčky umožňují procházet více příkazy. Bash vyhoví pro smyčky a zatímco smyčky s jednoduchou syntaxí pro všechny vaše potřeby smyčkování.
Pokud ovládáte umění vývoje Bash, pro smyčky by měly být další na vašem seznamu.
Proč spouštět stejný kód znovu a znovu ve vašem shell skriptu, když můžete mít cyklus for, který to udělá za vás?
Přečtěte si další
- Programování
- Linux Bash Shell
- Tipy pro kódování
Jerome je Staff Writer ve společnosti MakeUseOf. Zabývá se články o programování a Linuxu. Je také nadšencem do kryptoměn a neustále sleduje kryptoprůmysl.
Přihlaste se k odběru našeho newsletteru
Připojte se k našemu zpravodaji a získejte technické tipy, recenze, bezplatné e-knihy a exkluzivní nabídky!
Chcete-li se přihlásit k odběru, klikněte sem