S testom si treba dať pozor na pár zádrheľov. Keďže premenné v shelli nemajú dátové typy (všetko je reťazec, string), je potrebné akýmsi sposôbom rozlišovať, či chceme porovnávať reťazce, čísla
Category Archives: Programovanie
POSIXové utility pre prácu s textom
Prehľad utilít echo: zapisuje slová oddelené medzerou na štandardný výstup printf: formátovaný výpis reťazcov v duchu C cut: berie riadky s položkami oddelenými jedným znakom oddeľovača a vyberá jednotlivé položky.
Shellové skriptovanie: funkcie
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
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
Deklarácia viacerých loggerov jednej triedy v `slf4j`
Učebnicová deklarácia loggera v slf4j je: package sk.upjs.ics.novotnyr; public class Service { private Logger logger = LoggerFactory.getLogger(Service.class); /*…*/ } Čo ak chcete mať viacero loggerov v triede? Napr. jeden všeobecný,
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: