Bash – interaktívny príkazový riadok a skriptovací jazyk

Pôvodný unixový shell Bourne Shell prepracovali v GNU a nazvali Bourne Again Shell. Bash je štandardne využívaný shell v distribúciách Linuxu.

Skripty su spustiteľné súbory obsahujúce viac príkazov spustených v dávke jeden po druhom. Napríklad v prostrediach DOS, OS/2, Windows sa používa dávkový súbor s koncovkou bat (batch file).

Základnou funkciou shellu bash je programovací jazyk na spúštanie skriptov.

Bash základy

Príklad príkazového riadku v bash:

username@hostname current_directory shell_type

user@localhost:~$
  • username je prihlasovacie meno uživateľa
  • hostname je názov hostiteľského počítača
  • current_directory@ označuje adresár, kde sa nachádzame, pričom ~ označuje domovský adresár užívateľa, v tomto prípade by to bol štandardne /home/spyros/
  • Znak $ pre kurzorom určuje každého užívateľa okrem roota, ktorý je označený vlastným znakom #.

V príkazovom riadku sa vieme pohybovať šípkami doprava a doľava pre ľahšiu editáciu príkazu.

Šípkami hore a dole sa pohybujeme v histórii zadaných príkazov, ktoré sa logujú.

Prácu v príkazovom riadku si vieme urýchliť použitím tlačidla tab, ktoré nám pri zadávaní súboru alebo adresáru doplní jeho názov alebo pri dvojitom stlačení zobrazí všetky možnosti.

V prostredí Linuxu nie je koncovka určujúca pre spustenie dávky, ale používa sa pre prehľadnosť koncovka .sh. Pre spustenie musí byť súbor označený ako spustiteľný a užívateľ musí mať práva na jeho spustenie, napríklad chmod 755.

PATH

PATH je premenná prostredia prehľadávaných adresárov pre spustenie príkazu.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin

Ak chceme spustiť náš vytvorený skript, musíme ho vložiť do prehľadávaných adresárov alebo vložiť adresár so skriptom do PATH alebo zmeniť nastavenia súboru pre spustenie. Po zmene prístupových práv sa zmení v prostredí bash aj farba skriptu vo výpise.

$ chmod +x nas_novy_skript_spusti_kazdy

Syntax pre spustenie

$ bash nas_novy_skript_spusti_kazdy

alebo

$ sh nas_novy_skript_spusti_kazdy

Premenné

Premenné (variables) sa používajú rovnakým spôsobom ako v programovacích jazykoch. Bash ako prekladač vykonáva skript riadok po riadku.

Základný zápis a vykonanie. Pozor na formát úvodzoviek " vs. '. Bash nahradí hodnotu len pri dvojitých úvodzovkách:

variable="value"

echo "$value"

value

echo '$value'

$value

Premenná $? vypíše exit code 0 (posledný príkaz sa vykonal úspešne), 1 (neúspešne) alebo 2 (neúspešne, zvyčajne pre zlý argument alebo parameter). Máme 255 kódov.

$ ls -la
$ echo $?
0

Premenná $@ rozširuje každý argument ako oddelený samostatný reťazec. Napríklad skript s príkazom script.sh arg1 arg2 arg3 bude obsahovať samostatné hodnoty „arg1“, „arg2“ a „arg3“.

Premenná $* rozširuje všetky argumenty do jedného reťazca. Napríklad skript s príkazom script.sh arg1 arg2 arg3 bude obsahovať „arg1 arg2 arg3“.

Argumenty

Argument je premenná príkazu na vykonanie. Číselný argument napríklad $1 určí pozíciu v skripte. Argument $# obsahuje počet argumentov v skripte.

Podmienky

Podmienky (conditional logic) sú známe slová z programovania. Napríklad ak if sa niečo stane potom then, ak je to pravda, nech sa vykoná akcia alebo sa urobí ešte else niečo iné a ak je to nepravda fi (forget it), tak nech sa vypíše chybová hláška.

Podmienka pre overenie sa nachádza v hranatých zátvorkách [] a môže nadobúdať hodnoty:

  • -eq (číslené porovnanie, =, equal to),
  • -ne (nerovná sa, not equal),
  • -gt (väčšie ako, >, greater then),
  • -ge (väčšie ako alebo rovná sa, =>, greather the or eqal to),
  • -lt (menšie ako, <, less than) a
  • -le (menšie ako alebo rovná sa, <=, less then or eqaul to).

Pridajte Komentár

Návrat hore