přejít na obsah přejít na navigaci

Linux E X P R E S, Elvish shell (3): Deklarácia premenných

Elvish shell (3): Deklarácia premenných

elvish.png

Zoznámte sa s premennými a vyskúšajte si prácu s nimi v Elvish shell. Naučte sa deklarovať nielen jednu premennú, ale viacero premenných len v jednom príkazovom riadku.


Premenné

Majme predpoveď počasia na tri dni. Dáme ju celú do citácie textu. Príkaz echo nám vypíše text, s čím sme sa dôverne zoznámili v predošlom článku.

~> echo "Dnes je na Slovensku priemerna teplota 25°C.\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota 25°C."


Vypisujeme predpoveď počasia cez príkaz echo

Všimnite si, že v texte máme dve rovnaké číselné hodnoty. Nebolo by efektívnejšie rovnakú hodnotu uložiť do premennej a využívať ju všade tam, kde to je potrebné?

~> teplota=25
~> echo "Dnes je na Slovensku priemerna teplota "$teplota"°C.\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota "$teplota"°C."


Prvé využitie premenných

V prvom príkazovom riadku sme priradili premennej nazvanej ako teplota celočíselnú hodnotu 25. Tento proces priradenia môžeme tiež nazvať ako deklarácia premennej. Priradenie hodnoty premennej resp. deklarácia premennej je len prvý krok k využitiu výhod premenných. Druhým krokom je už konkrétne využitie cez odkazovanie. Používa sa nato znak $ pred menom premennej. Práve vďaka tomuto znaku môžeme premennú jednoducho použiť prakticky kdekoľvek.

No fajn, ale čo keby sme dali odkazovanie premennej v citácii textu?

~> teplota=25
~> echo "Dnes je na Slovensku priemerna teplota $teplota°C.\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota $teplota°C."


Odkazovanie premenných v citácii textu

Ako môžete vidieť, odkazovanie v citácii textu nefunguje a to z toho dôvodu, že v citácii textu je interpretácia presná znak po znaku. Preto môžeme v citácii textu využívať rôzne zástupné znaky alebo medzery, koľko len chceme bez toho, aby to vyvolalo nejakú chybovú hlášku.

Vráťme sa ku priradeniu hodnoty premennej resp. deklarácii premennej. Čo ak by sme tento krok vynechali? Je vôbec deklarácia premennej potrebná ako prvý krok k využitiu premennej?

~> echo "Dnes je na Slovensku priemerna teplota "$teplota"°C.\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota "$teplota"°C."


Využitie premennej bez priradenia hodnoty

Objaví sa chybová hláška oznamujúca nenájdenie premennej $teplota. Čiže prvý krok v podobe priradenia hodnoty premennej resp. deklarácie premennej je potrebný pre úspešné využitie premennej kdekoľvek v kóde.

Doteraz sme pracovali len s jedným typom premennej, celým číslom. Skúsme použiť miesto celého čísla desatinné číslo.

~> teplota=25.27
~> echo "Dnes je na Slovensku priemerna teplota "$teplota"°C.\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota "$teplota"°C."


Priradíme premennej desatinné číslo

Hodnota priradenia pre premennú nemusí byť len číselná, ale aj citácia textu sa dá využiť.

~> teplota="25°C"
~> echo "Dnes je na Slovensku priemerna teplota "$teplota".\nZajtra ma byt na Slovensku priemerna teplota 24°C.\nPozajtra ma byt na Slovensku priemerna teplota "$teplota"."


Priradíme premennej citáciu textu

Ako poslednú vec pre tento diel si ukážeme viacnásobnú deklaráciu premenných. Deklaráciu jednej premennej sme si poriadne precvičili. Deklarovanie dvoch alebo troch premenných naraz nie je žiadna zložitá veda.

~> teplota1 teplota2 = 25 24
~> echo "Dnes je na Slovensku priemerna teplota "$teplota1"°C.\nZajtra ma byt na Slovensku priemerna teplota "$teplota2"°C.\nPozajtra ma byt na Slovensku priemerna teplota "$teplota1"°C."


Deklarácia dvoch premenných

Ale pozor, pri deklarácii môžete urobiť chybu.

~> teplota1 teplota2=25 24


Chybná deklarácia dvoch premenných

Medzi znakom „=“ a premennými a aj medzi samotnými premennými navzájom musí byť aspoň jedna medzera, aby deklarácia viacerých premenných prebehla v poriadku.

Námet na tento článok poslúžil tento zdroj: elv.sh

Nahoru

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Eduard Boldižár

Eduard Boldižár

Som redaktorom stránky astrotech.cz. Mám 25 rokov. Medzi moje záľuby patrí astronómia, sci-fi literatúra a programovanie.


  • Distribuce: ubuntu
  • Grafické prostředí: unity



Public Relations

I ve velké firmě je místo pro startupového ducha

Michal BroučekMichal Brouček pracuje v plzeňské pobočce společnosti Siemens Advanta dva a půl roku jako softwarový inženýr a vedoucí vývojového týmu. Svou práci si velmi pochvaluje. Kromě technických záležitostí má na starosti i spokojenost svých kolegů v týmu a zajišťování celkové pohody na pracovišti. 

Pokračování ...



Public Relations

Safetica spustila SaaS verzi svého bezpečnostního softwaru s pravidelným předplatným

safeticaMladá tech­no­lo­gic­ká spo­leč­nost Safe­tica, která stojí za stej­no­jmen­ným soft­warem na ochra­nu před úniky dat (DLP – Data Loss Pre­ven­tion) a vnitř­ní­mi hroz­ba­mi (ITP – In­sid­er Threat Pro­tec­tion), tento rok spus­ti­la ostrý pro­voz nové SaaS ver­ze své­ho pro­duk­tu – Safe­tica NXT. Ta fun­gu­je pří­mo z clou­du bez potře­by in­s­ta­la­ce na za­ří­ze­ní a pla­tí se pro­s­třed­nict­vím pra­vi­del­né­ho před­plat­ného.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 10. April

Zapojte se do tvorby distribuce Mageia

Podílejte se na vytváření balíčků pro Mageiu, dělejte, co je potřeba, staňte se baličem


Pavel Fric

Pavel Fric, 13. March

Lollypop

Lollypop je hudební přehrávač navržený, jak ukazuje jeho podoba, aby výborně zapadl do pracovního...


Pavel Fric

Pavel Fric, 26. February

QElectroTech

Kreslení elektrotechnických i jiných výkresů


Všechny blogy »


Public Relations

Malá bedýnka velkých možností vCube AiO TSP – kompaktní, ekonomické, bezpečné IT

vCubeV této malé kostce se skrývá vše, co potřebuje firemní IT. Systém vCube AiO, byť je kompaktní, poskytne nekompromisní výkon. Má silné procesory, dostatek operační paměti, velká výkonná úložiště, pro komunikaci využívá rychlou 10Gbit síť. Systém poskytuje dostatečný výkon pro provoz firemních virtuálních serverů a uživatelských pracovních stanic.

Pokračování ...


Tagy