Množina možných príkazov:
- premenné: reťazce, čísla, polia, prostredie a parametre,
- podmienkami,
- cykly,
- zoznamy,
- funkcie,
- príkazy zabudované do shellu,
- zisk výsledkami programov,
- here dokumenty.
Premenné – priraďovanie, výpis, vstup
Programovanie premenných v shelli je rovnaké ako v Pythone – dekláracia premenných nie je potrebná, premenné si vytvárame postupne priradením podľa potreby. Premenné priraďujeme rovnako ako v Pythone premenná=hodnota
. Na výstup údajov slúži príkaz echo
. Syntax s premennou na jej výpis je: echo $premenná
alebo echo "$premenná"
. Pri syntaxi príkazu: echo '$premenná'
alebo echo \$premenná
nám vypíše text v apostrofoch alebo text za opačným lomítkom.
Obrázok 1: Ukážka rôznej syntaxe príkazu echo v konzole
Obrázok 2: Ukážka práce s premennými v textovom editore Kate a následné spustenie. Všimnime si farebných odlišností pri syntaxi. Chybová hláška – pri spúšťaní musíme zadať celú adresu súboru.
Pekne to máme ukázané v textovom editore Kate. Ak chceme príkazom pre výstup vypísať obsah premennej, tak musí byť rovnakou farbou ako je na ľavej strane priraďovacieho príkazu. Shell na rozdiel od Pythonu neberie apostrofy ako náhradu úvodzoviek. Takto sa definujú vlastné premenné v shelli v linuxe pomocou priradenia. Na vstup údajov slúži príkaz read
.
Poďme sa teraz pomenovať príkazom echo, read.
Obrázok 3: Ukážka načítania premennej cez príkaz read a následný výpis
Príkaz echo
Ako sme už uviedli vyššie, tak príkaz echo slúži na výpis obsahu premenných. Syntax príkazu je takáto: echo [možnosti] [argumenty – premenné,…]
. Medzi možnosti patrí:
- -e – zoberie do úvahy riadiace sekvencie uvedené za opačným lomítkom,
- -E – preddefinovaná možnosť, neberie do úvahy riadiace sekvencie uvedené za opačným lomítkom,
- -n – za výpisom nedá nový riadok, terminál pokračuje v tom istom riadku.
Medzi riadiace sekvencie za opačným lomítkom patria:
- \a – alert – pípnutie,
- \b – backspace – o znak späť,
- \c – na konci výstupu nedá nový riadok,
- \f – nová stránka,
- \n – nový riadok,
- \r – návrat na začiatok riadka,
- \t – horizontálny tabulátor,
- \v – vertikálny tabulátor,
- \\ – opačné lomítko,
- \e alebo \E – nezobraziť znak za riadiacou sekvenciou,
- \n nnn – osembitový reťazec, kde hodnota je oktálové číslo, kde nnn sú 1 až 3 číslice,
- \0 nnn – osembitový reťazec, kde hodnota je oktálové číslo, kde nnn sú 0 až 3 číslice,
- \x HH – osembitový reťazec, kde hodnota je hexadecimálne číslo, kde HH sú 1 až 2 číslice.
Obrázok 4: Ukážka riadiacich sekvencií a ich umiestnenie. Netreba zabúdať na správne poradie možností, inak možnosť nebude fungovať.
Riadiace sekvencie sa dávajú do reťazca, ktorý sa má zobraziť, miesto textu sa môžu použiť aj premenné, avšak pre lepšiu názornosť sme použili priamo text.
Príkaz read
Príkazom read načítavame obsah premenných. Syntax príkazu je takáto: echo [možnosti] [argumenty – premenné,…]
. Medzi možnosti patrí:
- -n <číslo> premenná – prečíta počet znakov zadaných v čísle a dá ich do premennej, po dosiahnutí počtu ukončí príkaz,
- -a premenná – prečíta vstupy oddelené medzerami a premenná je pole znakov alebo čísel zadaných užívateľom,
- -d <oddeľovač – napr. ,> premenná – prečíta vstup po oddeľovač a dá ho do premennej, po dosiahnutí oddeľovača ukončí príkaz,
- -i "hláška" premenná – nápoveda pre formuláre, v shelli nefunguje, avšak vo formulároch funguje.
- -e premenná – spojené s programami, ktoré umožňujú interaktívne relácie, v bežnom shelli nefunguje,
- -p "hláška" premenná – do hlášky je možné dať reťazec, ktorý popíše, čo má užívateľ zadať,
- -N <číslo> premenná – prečíta počet znakov zadaných v čísle a dá ich do premennej, po dosiahnutí počtu ukončí príkaz,
- -r premenná – načíta údaje do premennej a ignoruje riadiace sekvencie, berie ich ako bežný reťazec,
- -s premenná – typický príklad je zadávanie hesiel v Linuxe, kde sa heslo nezobrazuje, toto isté robí aj táto možnosť,
- -u deskriptor – hodnoty do premennej načíta zo súboru pomocou deskriptora,
- -t <čas v s> premenná – po uplynutí časového limitu príkaz pokračuje automaticky ako po zadaní vstupu.
Obrázok 5: Ukážka možností príkazu read a viacnásobné načítanie ako aj viacnásobný výpis.
Záver
V ďalšej časti sa budeme venovať číslam, reťazcom a poliam.