Premenné sa používajú na ukladanie hodnôt rôznych typov počas vykonávania programu. V skriptovaní Bash existujú dva typy premenných: globálne a lokálne.
Globálne premenné môžu byť použité všetkými Bash skriptami vo vašom systéme, zatiaľ čo lokálne premenné môžu byť použité iba v rámci skriptu (alebo shellu), v ktorom sú definované.
Globálne premenné sú vo všeobecnosti poskytované v systéme štandardne a sú to hlavne premenné prostredia a konfigurácie. Na druhej strane lokálne premenné sú definované používateľom a majú ľubovoľné použitie.
Bash lokálne premenné
Ak chcete vytvoriť premennú, musíte názvu premennej priradiť hodnotu. Bash je jazyk bez typu, takže pri definovaní premenných nemusíte uvádzať typ údajov.
var1=Ahoj
Bash tiež umožňuje viacero priradení na jeden riadok:
a=6 b=8 c=9
Rovnako ako mnoho iných programovacích jazykov, aj Bash používa operátor priradenia = na priradenie hodnôt premenným. Je dôležité poznamenať, že na oboch stranách operátora priradenia by nemali byť žiadne medzery. V opačnom prípade sa zobrazí chyba kompilácie.
Súvisiace: Čo znamená „Bash“ v Linuxe?
Ďalší kľúčový bod, ktorý treba poznamenať: Bash vám neumožňuje najskôr definovať premennú a potom jej priradiť hodnotu. Pri vytváraní musíte premennej priradiť hodnotu.
var2 # chyba kompilácie
var2=Svet
Niekedy možno budete musieť k vašej premennej priradiť reťazec, ktorý má v sebe medzeru. V takom prípade uzatvorte reťazec do úvodzoviek.
# var3=Ahoj Svet
# vyššie uvedená úloha nefunguje
var3='Ahoj svet'
Všimnite si použitie jednoduchých úvodzoviek. Tieto úvodzovky sa tiež nazývajú „silné úvodzovky“, pretože priraďujú hodnotu presne tak, ako je napísaná, bez ohľadu na špeciálne znaky.
Vo vyššie uvedenom príklade ste mohli použiť aj dvojité úvodzovky ("slabé úvodzovky"), aj keď to neznamená, že ich možno vždy použiť zameniteľne. Je to preto, že dvojité úvodzovky nahradia špeciálne znaky (napríklad znaky s $), namiesto doslovného výkladu.
Pozrite si príklad nižšie:
var4=89
echo "Číslo je $ var4"
echo 'Číslo je $var4'
# Prvý výstup výtlačkov: 89
# Druhý výstup vytlačí ponechá "$var4" tak, ako je
Ak chcete k svojej premennej priradiť výstup príkazového riadka, použite spätné úvodzovky (``). S reťazcom, ktorý je v nich uzavretý, budú zaobchádzať ako s príkazom terminálu a vrátia jeho výsledok.
var5="Momentálne pracujete v tomto adresári: `pwd`"
Rozšírenie parametrov v Bash
Rozšírenie parametrov jednoducho odkazuje na prístup k hodnote premennej. Vo svojej najjednoduchšej forme používa špeciálny znak $ za ktorým nasleduje názov premennej (bez medzier):
var6=Jack
echo Moje meno je $var6
Môžete tiež použiť syntax ${variableName} pre prístup k hodnote premennej. Táto forma je vhodnejšia, keď môže dôjsť k nejasnostiam okolo názvu premennej.
m=Med
echo Med znamená ${m}ical
Ak vynecháte zložené zátvorky, ${m}ical bude interpretovaná ako zložená premenná (ktorá neexistuje). Toto použitie zložených zátvoriek s premennými je známe ako „substitúcia“.
Globálne premenné
Ako už bolo spomenuté, váš systém Linux má niekoľko vstavaných premenných, ku ktorým je možné pristupovať cez všetky vaše skripty (alebo shelly). K týmto premenným sa pristupuje pomocou rovnakej syntaxe ako k lokálnym premenným.
Súvisiace: Ako vytvárať a spúšťať Bash skripty v Linuxe
Väčšina týchto premenných je písaná BLOKOVÝMI písmenami. Niektoré sú však jednotlivé znaky, ktoré nie sú ani alfanumerickými znakmi.
Tu sú niektoré bežné užitočné globálne premenné:
DOMOV: Poskytuje domovský adresár používateľa
SHELL:Poskytuje typ shellu, ktorý používate (napr. Bash, csh..atď)
?: Poskytuje stav ukončenia predchádzajúceho príkazu
Ak chcete získať zoznam globálnych premenných vo vašom systéme, spustite príkaz printenv (alebo env) príkaz:
$ printenv
Slučky v skriptovaní Bash
Teraz viete, čo sú premenné, ako ich priradiť a ako pomocou nich vykonávať základnú Bashovu logiku.
Slučky vám umožňujú iterovať cez viacero príkazov. Bash vyhovie pre slučky a zatiaľ čo slučky s jednoduchou syntaxou pre všetky vaše potreby slučkovania.
Ak ovládate umenie vývoja Bash, pre slučky by mali byť ďalšie na vašom zozname.
Prečo spúšťať rovnaký kód znova a znova vo vašom shell skripte, keď môžete nechať cyklus for, ktorý to urobí za vás?
Prečítajte si ďalej
- Programovanie
- Linux Bash Shell
- Tipy na kódovanie
Jerome je scenárista v MakeUseOf. Venuje sa článkom o programovaní a Linuxe. Je tiež nadšencom kryptomien a neustále sleduje kryptopriemysel.
prihlásiť sa ku odberu noviniek
Pripojte sa k nášmu bulletinu a získajte technické tipy, recenzie, bezplatné e-knihy a exkluzívne ponuky!
Kliknutím sem sa prihlásite na odber