Shell samozrejme podporuje funkcie. Syntax je — ako to už býva tradíciou — pomerne nezvyklá, ale mnohokrát uľahčí prácu. Predstavme si, že chceme generovať náhodné čísla. V bashi i v
Tag Archives: bash
Shellové skriptovanie: `while`/`read` a zábava s IFS
Kombinácia read/while má ešte jednu skvelú možnosť. Za normálnych okolností sa do premenných načítavajú slová oddelené medzerou. V skutočnosti sa toto rozsekávanie riadku na položky riadi zabudovanou premennou shellu s
Skriptovanie v shelli: Prečo nevidím zmeny v premenných vo vnútri cyklu?
Folklórny príklad: chcete si v shellovom skripte spočítať počet riadkov súboru, čiže urobiť si vlastnú verziu wc -l. Ako riešenie vám napadne: #!/bin/sh POCET=0 cat $1 | while read do
Skriptovanie v shelli: cyklus `while` a trik `while`/`read`
Cyklus while Zatiaľčo cyklus for iteruje cez zoznam shellovských slov, niekedy sa hodí cyklus, ktorí sa „točí” dovtedy, pokiaľ je splnená booleovská podmienka. A presne na toto sa hodí while.
Skriptovanie v shelli: podmienka `if` a `case`
Podmienka if Podmienky v shellovom skriptovaní stoja na pleciach návratových kódov. Každý program má možnosť vrátiť do operačného systému číselný kód, tzv. exit code, pričom nula znamená “zbehol som v
Skriptovanie v shelli: cyklus `for`
Cyklus for Na rozdiel od pascalovského, či céčkarského foru, kde sa v cykle zvyšuje premenná od počiatočnej po koncovú hodnotu, shellovský for sa drží filozofie for-each. Očakáva totiž zoznam shellovských
Skriptovanie v shelli: zásada pri čítaní z premenných
V shellovskom skriptovaní platí zdravá zásada: ak čítame obsah premennej, uzatvorme ju do úvodzoviek. Niekedy sa totiž môžu diať veci! Jednoduchý príklad: skript, ktorý vypíše cestu k domovskému adresáru používateľa:
Skriptovanie v shelli: Špeciálne premenné
Ďalšie špeciálne premenné Parametre príkazového riadka Minule sa spomínalo, že parametre príkazového riadka sú k dispozícii v premenných 1…9. Čo ak chcete iterovať cez všetky parametre a s každým z
Skriptovanie v shelli: Expanzia premenných
Pokročilá expanzia premenných S expanziou premenných sa dajú robiť všakovaké triky. Chcete získať hodnotu premennej a ak nie je definovaná, použiť implicitnú hodnotu? echo ${NEDEFINOVANA_PREMENNA:-N/A} Toto, prirodzene, vypíše N/A Ak
Skriptovanie v shelli: Premenné
Úvod Premenné v shellscriptingu sú zábava a keby sme ich nemali, ďaleko by sme sa nedoprogramovali. (Teraz nechajme bokom iné paradigmy programovania.) Nie je na nich nič zložité, ale žiaľ,